Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Reef: AJAX the way it should be 


Published on

ESUG 2011, Edinburgh

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Reef: AJAX the way it should be 

  1. 1. ReefAJAX the way it should be
  2. 2. Who am I?
  3. 3. Who am I?• The guy who builds a VM, and everybody hates because their plugins are not ready
  4. 4. Who am I?• The guy who builds a VM, and everybody hates because their plugins are not ready• He also does some Seaside time to time
  5. 5. Last year...• Reef presentation was a big success (thanks!)• Some of you tried it and provide valuable feedback...
  6. 6. But not everybody present here today was present last year... So... what’s Reef?
  7. 7. “The problem”
  8. 8. Nesting problemFunctionality is distributed all around the component (and could be worse) • renderContentOn: sends renderRegionsOn: sends renderCitiesOn:
  9. 9. Nesting problemReal problem is we are still programing in HTML (yes, with smalltalk “flavour”, but still HTML)
  10. 10. Reef summaryAJAX/Javascript componentframework for Seaside.
  11. 11. Reef summaryModels HTML/Javascript components into Smalltalk objects
  12. 12. Reef summaryHides communication complexity
  13. 13. Reef architecture
  14. 14. Reef architecture Dispatcher
  15. 15. A trade-off (yep, there is always one) An extra request(not always, but enough to be taken into account)
  16. 16. Communication• We handle interactions through callbacks, just as Seaside• But all callbacks should be threat the same • AJAX calls • regular requests • client behavior
  17. 17. Example
  18. 18. Coming to your image... this year!
  19. 19. What changed (for good) Better integration with jQuery:skins, widget box
  20. 20. What changed (for good) An important optimization:#asReefTriggerCallback
  21. 21. What changed (for good)More widgets(but still justthose I need)
  22. 22. What’s new (and testing)Composites
  23. 23. What’s new (and testing)• Magritte-Reef • Brings web 2.0 to Magritte-Seaside • Ease cool effects: • tooltips, masks, etc. • Complex behaviors
  24. 24. What remains (and it shouldn’t)• Documentation is still poor• Reef protocol names are still ugly• Testing is still non-existent
  25. 25. The heresy revisited(we need to be heretics again)
  26. 26. you know:
  27. 27. why not:
  28. 28. Future work• Still experimenting with optimizations around the dispatcher• Rename all protocols into something really meaningful• Write more documentation (like finalize the chapter for PBE2)• More feedback?
  29. 29. Questions?