Top Banner
Mars Just another world jueves 21 de octubre de 2010
35

Mars - ESUG 2010

May 20, 2015

Download

Technology

Slides for the presentation of Mars on ESUG 2010
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mars - ESUG 2010

MarsJust another world

jueves 21 de octubre de 2010

Page 2: Mars - ESUG 2010

MarsJust another world

jueves 21 de octubre de 2010

Page 3: Mars - ESUG 2010

Who I am?

jueves 21 de octubre de 2010

Page 4: Mars - ESUG 2010

Who I am?

I really don’t know (yet)

jueves 21 de octubre de 2010

Page 5: Mars - ESUG 2010

Once upon a time...

There was Squeak...

jueves 21 de octubre de 2010

Page 6: Mars - ESUG 2010

jueves 21 de octubre de 2010

Page 7: Mars - ESUG 2010

...and Squeak had a lot of colors(yes... many people like them... just

not me)

jueves 21 de octubre de 2010

Page 8: Mars - ESUG 2010

...and other not so good things

• no good keybinding and manual handling of tools.

• no cool widgets (like trees, etc.)

• no native user interface (of course, not Polymorph either)

jueves 21 de octubre de 2010

Page 9: Mars - ESUG 2010

Then came Pharo!

A profesional open-source

Smalltalk

jueves 21 de octubre de 2010

Page 10: Mars - ESUG 2010

jueves 21 de octubre de 2010

Page 11: Mars - ESUG 2010

Pharo has good UI improvements

• With time, it incorporates

• Polymorph!

• A good set of key binds (like cmd+w, finally!)

• ...and most of this changes are now on Squeak too.

jueves 21 de octubre de 2010

Page 12: Mars - ESUG 2010

jueves 21 de octubre de 2010

Page 13: Mars - ESUG 2010

So, why Mars?

• Because native applications rocks

• The mac experience matters

• We should be able to produce that experience using Pharo.

jueves 21 de octubre de 2010

Page 14: Mars - ESUG 2010

And what’s Mars?

An model, view, controller user interface framework for building native applications for the

OSX, iPhone and iPad

jueves 21 de octubre de 2010

Page 15: Mars - ESUG 2010

Architecture in a slide

• Cocoa/CocoaTouch

• The ObjectiveCBridge

• Model, View, Controller

jueves 21 de octubre de 2010

Page 16: Mars - ESUG 2010

The bridge

jueves 21 de octubre de 2010

Page 17: Mars - ESUG 2010

Objective-C bridge

• Made by John McIntosh

• Present by default in all the latest vm builds

• Used on real applications for the iPhone

jueves 21 de octubre de 2010

Page 18: Mars - ESUG 2010

Objective-C bridge

• An object in Pharo forward mesages to Objective-C

• A proxy in Objective-C side interacts with a correspondent object in Pharo side.

• Everything is handled by semaphores waiting to do something, at both sides

• Yes, the coordination of that interaction is tricky, but the bridge does that for us.

jueves 21 de octubre de 2010

Page 19: Mars - ESUG 2010

The architecture

jueves 21 de octubre de 2010

Page 20: Mars - ESUG 2010

Architecture: View• As said, any control has it’s corresponding ObjectiveC

object.

• Everything is inside an Application

• Everything is

• a Window,

• a child of a Window, or

• a Dialog

• There are lot’s of controls already made, and more to come

jueves 21 de octubre de 2010

Page 21: Mars - ESUG 2010

Architecture: Controller

• Mars handles it’s actions through callbacks installed as a proxy between Pharo and ObjectiveC

• Any callback installed is a independent process in Pharo side

• Yes, there are lots of processes if you run Mars right now.

jueves 21 de octubre de 2010

Page 22: Mars - ESUG 2010

Architecture: Model

• It uses a standard “model” mechanism

• For malleability, we can use MRModelAdaptor

• It “borrows” something I saw in Dolphin.

• It is an adaptor for any model I need (well... at least any model I needed, but I can grow it later)

jueves 21 de octubre de 2010

Page 23: Mars - ESUG 2010

Really small demo

jueves 21 de octubre de 2010

Page 24: Mars - ESUG 2010

Problems

jueves 21 de octubre de 2010

Page 25: Mars - ESUG 2010

Problems found

• The “dead lock” problem

• Changed by changing the VM structure

• But now there are other problem: no scheduled proccess

• Being worked on by John and Eliot. Thanks!

jueves 21 de octubre de 2010

Page 26: Mars - ESUG 2010

Texto

The future

jueves 21 de octubre de 2010

Page 27: Mars - ESUG 2010

Next steps

• We are still someplace between “make it work” and “make it right”... but we will succeed! (and very soon)

• Needs testing (Maybe with FScript)

• Needs documentation

• Last minute addition: MRNibObject

Make it work, make it right, make it fast

jueves 21 de octubre de 2010

Page 28: Mars - ESUG 2010

Far next steps

• Mars for Linux and Windows?

• There are design issues, and abstraction layers are never a good idea (IMHO)

jueves 21 de octubre de 2010

Page 29: Mars - ESUG 2010

I would like to see... (1)

Standard VM MarsPlugin

PharoKernel Mars

MarsWorld

Other packages

Modular pharo in a standard (and/or Cog) VM

jueves 21 de octubre de 2010

Page 30: Mars - ESUG 2010

I would like to see (2)

• The “great and unique and fantastique tool rebuilding call”

• Our tools are most of the times old

• And our tools are always ugly

• Yes, it is an heresy... but a needed one.

jueves 21 de octubre de 2010

Page 31: Mars - ESUG 2010

Where is Mars?http://www.squeaksource.com/Mars

http://code.google.com/p/marsonpharo

http://groups.google.com/group/marsonpharo

jueves 21 de octubre de 2010

Page 32: Mars - ESUG 2010

Where is Mars?http://www.squeaksource.com/Mars(lots of garbage there, so be careful)

http://code.google.com/p/marsonpharo

http://groups.google.com/group/marsonpharo

jueves 21 de octubre de 2010

Page 33: Mars - ESUG 2010

Where is Mars?http://www.squeaksource.com/Mars(lots of garbage there, so be careful)

http://code.google.com/p/marsonpharo(Nothing right now there, but binaries and

oneclicks will be there in the future)

http://groups.google.com/group/marsonpharo

jueves 21 de octubre de 2010

Page 34: Mars - ESUG 2010

Where is Mars?http://www.squeaksource.com/Mars(lots of garbage there, so be careful)

http://code.google.com/p/marsonpharo(Nothing right now there, but binaries and

oneclicks will be there in the future)

http://groups.google.com/group/marsonpharo(No trafic, but specific questions and etc. can be

sent there)

jueves 21 de octubre de 2010

Page 35: Mars - ESUG 2010

Questions?

jueves 21 de octubre de 2010