MarsJust another world
martes 2 de noviembre de 2010
MarsJust another world
martes 2 de noviembre de 2010
Who I am?
martes 2 de noviembre de 2010
Who I am?
I really don’t know (yet)
martes 2 de noviembre de 2010
Once upon a time...
There was Squeak...
martes 2 de noviembre de 2010
martes 2 de noviembre de 2010
...and Squeak had a lot of colors
(yes... many people like them... just
not me)
martes 2 de noviembre de 2010
...and other not so good
things
• no good keybinding and manual handling of
tools.
• no cool widgets (like trees, etc.)
• ...
Then came Pharo!
A profesional
open-source
Smalltalk
martes 2 de noviembre de 2010
martes 2 de noviembre de 2010
Pharo has good UI
improvements
• With time, it incorporates
• Polymorph!
• A good set of key binds (like cmd+w,
finally!)
•...
martes 2 de noviembre de 2010
So, why Mars?
• Because native applications rocks
• The mac experience matters
• We should be able to produce that
experie...
And what’s Mars?
An model, view, controller user interface
framework for building native applications for the
OSX, iPhone ...
Architecture in a slide
• Cocoa/CocoaTouch
• The ObjectiveCBridge
• Model,View, Controller
martes 2 de noviembre de 2010
The bridge
martes 2 de noviembre de 2010
Objective-C bridge
• Made by John McIntosh
• Present by default in all the latest vm builds
• Used on real applications fo...
Objective-C bridge
• An object in Pharo forward mesages to
Objective-C
• A proxy in Objective-C side interacts with a
corr...
The architecture
martes 2 de noviembre de 2010
Architecture:View
• As said, any control has it’s corresponding ObjectiveC
object.
• Everything is inside an Application
•...
Architecture: Controller
• Mars handles it’s actions through callbacks
installed as a proxy between Pharo and
ObjectiveC
•...
Architecture: Model
• It uses a standard “model” mechanism
• For malleability, we can use
MRModelAdaptor
• It “borrows” so...
Really small demo
martes 2 de noviembre de 2010
Problems
martes 2 de noviembre de 2010
Problems found
• The “dead lock” problem
• Changed by changing theVM structure
• But now there are other problem: no
sched...
Texto
The future
martes 2 de noviembre de 2010
Next steps
• We are still someplace between “make it
work” and “make it right”... but we will
succeed! (and very soon)
• N...
Far next steps
• Mars for Linux and Windows?
• There are design issues, and abstraction
layers are never a good idea (IMHO...
I would like to see... (1)
Standard VM MarsPlugin
PharoKernel Mars
MarsWorld
Other packages
Modular pharo in a standard (a...
I would like to see (2)
• The “great and unique and fantastique tool
rebuilding call”
• Our tools are most of the times ol...
Where is Mars?
http://www.squeaksource.com/Mars
http://code.google.com/p/marsonpharo
http://groups.google.com/group/marson...
Where is Mars?
http://www.squeaksource.com/Mars
(lots of garbage there, so be careful)
http://code.google.com/p/marsonphar...
Where is Mars?
http://www.squeaksource.com/Mars
(lots of garbage there, so be careful)
http://code.google.com/p/marsonphar...
Where is Mars?
http://www.squeaksource.com/Mars
(lots of garbage there, so be careful)
http://code.google.com/p/marsonphar...
Questions?
martes 2 de noviembre de 2010
Upcoming SlideShare
Loading in...5
×

Mars

838

Published on

Mars. Esteban Lorenzano, ESUG 2010, Barcelona, spain.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
838
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mars

  1. 1. MarsJust another world martes 2 de noviembre de 2010
  2. 2. MarsJust another world martes 2 de noviembre de 2010
  3. 3. Who I am? martes 2 de noviembre de 2010
  4. 4. Who I am? I really don’t know (yet) martes 2 de noviembre de 2010
  5. 5. Once upon a time... There was Squeak... martes 2 de noviembre de 2010
  6. 6. martes 2 de noviembre de 2010
  7. 7. ...and Squeak had a lot of colors (yes... many people like them... just not me) martes 2 de noviembre de 2010
  8. 8. ...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) martes 2 de noviembre de 2010
  9. 9. Then came Pharo! A profesional open-source Smalltalk martes 2 de noviembre de 2010
  10. 10. martes 2 de noviembre de 2010
  11. 11. 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. martes 2 de noviembre de 2010
  12. 12. martes 2 de noviembre de 2010
  13. 13. So, why Mars? • Because native applications rocks • The mac experience matters • We should be able to produce that experience using Pharo. martes 2 de noviembre de 2010
  14. 14. And what’s Mars? An model, view, controller user interface framework for building native applications for the OSX, iPhone and iPad martes 2 de noviembre de 2010
  15. 15. Architecture in a slide • Cocoa/CocoaTouch • The ObjectiveCBridge • Model,View, Controller martes 2 de noviembre de 2010
  16. 16. The bridge martes 2 de noviembre de 2010
  17. 17. Objective-C bridge • Made by John McIntosh • Present by default in all the latest vm builds • Used on real applications for the iPhone martes 2 de noviembre de 2010
  18. 18. 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. martes 2 de noviembre de 2010
  19. 19. The architecture martes 2 de noviembre de 2010
  20. 20. 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 martes 2 de noviembre de 2010
  21. 21. 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. martes 2 de noviembre de 2010
  22. 22. 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) martes 2 de noviembre de 2010
  23. 23. Really small demo martes 2 de noviembre de 2010
  24. 24. Problems martes 2 de noviembre de 2010
  25. 25. Problems found • The “dead lock” problem • Changed by changing theVM structure • But now there are other problem: no scheduled proccess • Being worked on by John and Eliot. Thanks! martes 2 de noviembre de 2010
  26. 26. Texto The future martes 2 de noviembre de 2010
  27. 27. 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 martes 2 de noviembre de 2010
  28. 28. Far next steps • Mars for Linux and Windows? • There are design issues, and abstraction layers are never a good idea (IMHO) martes 2 de noviembre de 2010
  29. 29. I would like to see... (1) Standard VM MarsPlugin PharoKernel Mars MarsWorld Other packages Modular pharo in a standard (and/or Cog)VM martes 2 de noviembre de 2010
  30. 30. 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. martes 2 de noviembre de 2010
  31. 31. Where is Mars? http://www.squeaksource.com/Mars http://code.google.com/p/marsonpharo http://groups.google.com/group/marsonpharo martes 2 de noviembre de 2010
  32. 32. 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 martes 2 de noviembre de 2010
  33. 33. 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 martes 2 de noviembre de 2010
  34. 34. 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) martes 2 de noviembre de 2010
  35. 35. Questions? martes 2 de noviembre de 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×