Mars - ESUG 2010

802 views

Published on

Slides for the presentation of Mars on ESUG 2010

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

  • Be the first to like this

No Downloads
Views
Total views
802
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mars - ESUG 2010

  1. 1. Mars Just another world jueves 21 de octubre de 2010
  2. 2. Mars Just another world jueves 21 de octubre de 2010
  3. 3. Who I am? jueves 21 de octubre de 2010
  4. 4. Who I am? I really don’t know (yet) jueves 21 de octubre de 2010
  5. 5. Once upon a time... There was Squeak... jueves 21 de octubre de 2010
  6. 6. jueves 21 de octubre de 2010
  7. 7. ...and Squeak had a lot of colors (yes... many people like them... just not me) jueves 21 de octubre 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) jueves 21 de octubre de 2010
  9. 9. Then came Pharo! A profesional open-source Smalltalk jueves 21 de octubre de 2010
  10. 10. jueves 21 de octubre 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. jueves 21 de octubre de 2010
  12. 12. jueves 21 de octubre 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. jueves 21 de octubre 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 jueves 21 de octubre de 2010
  15. 15. Architecture in a slide • Cocoa/CocoaTouch • The ObjectiveCBridge • Model,View, Controller jueves 21 de octubre de 2010
  16. 16. The bridge jueves 21 de octubre 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 jueves 21 de octubre 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. jueves 21 de octubre de 2010
  19. 19. The architecture jueves 21 de octubre 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 jueves 21 de octubre 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. jueves 21 de octubre 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) jueves 21 de octubre de 2010
  23. 23. Really small demo jueves 21 de octubre de 2010
  24. 24. Problems jueves 21 de octubre de 2010
  25. 25. 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
  26. 26. The future Texto jueves 21 de octubre de 2010
  27. 27. Next steps Make it work, make it right, make it fast • 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 jueves 21 de octubre 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) jueves 21 de octubre de 2010
  29. 29. I would like to see... (1) Modular pharo in a standard (and/or Cog) VM Standard VM MarsPlugin MarsWorld PharoKernel Mars Other packages jueves 21 de octubre 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. jueves 21 de octubre de 2010
  31. 31. 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
  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 jueves 21 de octubre 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 jueves 21 de octubre 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) jueves 21 de octubre de 2010
  35. 35. Questions? jueves 21 de octubre de 2010

×