SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Reef
                                AJAX the way it should be




miércoles 29 de febrero de 12
Who am I?




miércoles 29 de febrero de 12
Who am I?


                    • The guy who builds a VM, and everybody hates
                          because their plugins are not ready




miércoles 29 de febrero de 12
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


miércoles 29 de febrero de 12
Last year...


                    • Reef presentation was a big success (thanks!)
                    • Some of you tried it and provide valuable
                          feedback...




miércoles 29 de febrero de 12
But not everybody present here today
                                        was present last year...


                                          So... what’s Reef?




miércoles 29 de febrero de 12
“The problem”




miércoles 29 de febrero de 12
Nesting problem
             Functionality is distributed all around the component
                              (and could be worse)



                    • renderContentOn:
                                sends renderRegionsOn:
                                 sends renderCitiesOn:



miércoles 29 de febrero de 12
Nesting problem

                   Real problem is we are still programing in HTML
                     (yes, with smalltalk “flavour”, but still HTML)




miércoles 29 de febrero de 12
Reef summary

                          AJAX/Javascript
                            component
                          framework for
                              Seaside.




miércoles 29 de febrero de 12
Reef summary




                                Models HTML/Javascript components
                                       into Smalltalk objects

miércoles 29 de febrero de 12
Reef summary


                                Hides communication complexity




miércoles 29 de febrero de 12
Reef architecture




miércoles 29 de febrero de 12
Reef architecture


                                   Dispatcher




miércoles 29 de febrero de 12
A trade-off
                                (yep, there is always one)



                                   An extra request
                  (not always, but enough to be taken into account)




miércoles 29 de febrero de 12
Communication

                    • We handle interactions through callbacks, just
                          as Seaside
                    •                         Texto
                          But all callbacks should be threat the same
                         • AJAX calls
                         • regular requests
                         • client behavior

miércoles 29 de febrero de 12
Example




miércoles 29 de febrero de 12
Coming to your image... this year!
miércoles 29 de febrero de 12
What changed
                                        (for good)



                          Better
                     integration with
                         jQuery:
                    skins, widget box




miércoles 29 de febrero de 12
What changed
                                   (for good)



                    An important
                    optimization:
                #asReefTriggerCallback




miércoles 29 de febrero de 12
What changed
                                      (for good)



                    More widgets
                    (but still just
                    those I need)




miércoles 29 de febrero de 12
What’s new
                                  (and testing)




                    Composites




miércoles 29 de febrero de 12
What’s new
                                    (and testing)

           • Magritte-Reef
            • Brings web 2.0 to
                      Magritte-Seaside
                • Ease cool effects:
                 • tooltips, masks, etc.
                • Complex behaviors

miércoles 29 de febrero de 12
What remains
                                 (and it shouldn’t)




                    • Documentation is still poor
                    • Reef protocol names are still ugly
                    • Testing is still non-existent
miércoles 29 de febrero de 12
The heresy revisited
                                (we need to be heretics again)




miércoles 29 de febrero de 12
you know:




miércoles 29 de febrero de 12
why not:




miércoles 29 de febrero de 12
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?

miércoles 29 de febrero de 12
Questions?
                                http://squeaksource.com/Reef




miércoles 29 de febrero de 12

Contenu connexe

En vedette

Revista Segon Trimestre 07 08
Revista Segon Trimestre 07 08Revista Segon Trimestre 07 08
Revista Segon Trimestre 07 08
Mercè Puig
 
Masin De Epoca La Monaco Pt Blog
Masin De Epoca La Monaco  Pt BlogMasin De Epoca La Monaco  Pt Blog
Masin De Epoca La Monaco Pt Blog
serbionel
 
Photocopier Routine Maintenance
Photocopier Routine MaintenancePhotocopier Routine Maintenance
Photocopier Routine Maintenance
Peter Thayer
 
Kyocera FS-C-5030-N Operation Guide
Kyocera FS-C-5030-N Operation GuideKyocera FS-C-5030-N Operation Guide
Kyocera FS-C-5030-N Operation Guide
Peter Thayer
 
Avaliação de métodos de Segmentação mediante algoritmos de Machine Learning
Avaliação de métodos de Segmentação mediante algoritmos de Machine LearningAvaliação de métodos de Segmentação mediante algoritmos de Machine Learning
Avaliação de métodos de Segmentação mediante algoritmos de Machine Learning
tookumy
 
Clearing Paper Jams
Clearing Paper JamsClearing Paper Jams
Clearing Paper Jams
Peter Thayer
 

En vedette (20)

2015 july 9 europeana labs market & audiences
2015 july 9 europeana labs market & audiences2015 july 9 europeana labs market & audiences
2015 july 9 europeana labs market & audiences
 
Quadern d'aram (1997) de maria àngels
Quadern d'aram (1997) de maria àngelsQuadern d'aram (1997) de maria àngels
Quadern d'aram (1997) de maria àngels
 
Pares p4
Pares p4Pares p4
Pares p4
 
Endometrioziz
EndometriozizEndometrioziz
Endometrioziz
 
Sistema solar per Marta i Carlota
Sistema solar  per Marta i CarlotaSistema solar  per Marta i Carlota
Sistema solar per Marta i Carlota
 
Voyage - PharoConf 2012
Voyage - PharoConf 2012Voyage - PharoConf 2012
Voyage - PharoConf 2012
 
Networking Now & Personal Branding
Networking Now & Personal BrandingNetworking Now & Personal Branding
Networking Now & Personal Branding
 
Revista Segon Trimestre 07 08
Revista Segon Trimestre 07 08Revista Segon Trimestre 07 08
Revista Segon Trimestre 07 08
 
Aire pur
Aire purAire pur
Aire pur
 
PELÀEZ HERMANOS S.A
PELÀEZ HERMANOS S.APELÀEZ HERMANOS S.A
PELÀEZ HERMANOS S.A
 
Connect2 Books2
Connect2 Books2Connect2 Books2
Connect2 Books2
 
Masin De Epoca La Monaco Pt Blog
Masin De Epoca La Monaco  Pt BlogMasin De Epoca La Monaco  Pt Blog
Masin De Epoca La Monaco Pt Blog
 
Europeana Publishing Framework (Concept) at Culture Jam
Europeana Publishing Framework (Concept) at Culture JamEuropeana Publishing Framework (Concept) at Culture Jam
Europeana Publishing Framework (Concept) at Culture Jam
 
Photocopier Routine Maintenance
Photocopier Routine MaintenancePhotocopier Routine Maintenance
Photocopier Routine Maintenance
 
Voyage by example
Voyage by exampleVoyage by example
Voyage by example
 
Kyocera FS-C-5030-N Operation Guide
Kyocera FS-C-5030-N Operation GuideKyocera FS-C-5030-N Operation Guide
Kyocera FS-C-5030-N Operation Guide
 
Vår sköna nya (digitala) omvärld
Vår sköna nya (digitala) omvärldVår sköna nya (digitala) omvärld
Vår sköna nya (digitala) omvärld
 
Avaliação de métodos de Segmentação mediante algoritmos de Machine Learning
Avaliação de métodos de Segmentação mediante algoritmos de Machine LearningAvaliação de métodos de Segmentação mediante algoritmos de Machine Learning
Avaliação de métodos de Segmentação mediante algoritmos de Machine Learning
 
Impact workshop glasgow
Impact workshop glasgowImpact workshop glasgow
Impact workshop glasgow
 
Clearing Paper Jams
Clearing Paper JamsClearing Paper Jams
Clearing Paper Jams
 

Similaire à Reef - ESUG2011

Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
Puppet
 
Mobile API Design Techniques
Mobile API Design TechniquesMobile API Design Techniques
Mobile API Design Techniques
Trieu Nguyen
 
Display suite 2 - Drupalcamp gent
Display suite 2  - Drupalcamp gentDisplay suite 2  - Drupalcamp gent
Display suite 2 - Drupalcamp gent
swentel
 
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Rick. Bahague
 
Introducción a Agile y Scrum
Introducción a Agile y ScrumIntroducción a Agile y Scrum
Introducción a Agile y Scrum
betabeers
 

Similaire à Reef - ESUG2011 (14)

Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
 
Building a compiler in JRuby
Building a compiler in JRubyBuilding a compiler in JRuby
Building a compiler in JRuby
 
Web Design in 2009
Web Design in 2009Web Design in 2009
Web Design in 2009
 
Mobile API Design Techniques
Mobile API Design TechniquesMobile API Design Techniques
Mobile API Design Techniques
 
Building Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript SpaghettiBuilding Rich User Experiences Without JavaScript Spaghetti
Building Rich User Experiences Without JavaScript Spaghetti
 
Workshop: Introduction to the Disruptor
Workshop: Introduction to the DisruptorWorkshop: Introduction to the Disruptor
Workshop: Introduction to the Disruptor
 
Building Data Driven Products With Ruby - RubyConf 2012
Building Data Driven Products With Ruby - RubyConf 2012Building Data Driven Products With Ruby - RubyConf 2012
Building Data Driven Products With Ruby - RubyConf 2012
 
MySQL Cluster no PayPal
MySQL Cluster no PayPalMySQL Cluster no PayPal
MySQL Cluster no PayPal
 
Display suite 2 - Drupalcamp gent
Display suite 2  - Drupalcamp gentDisplay suite 2  - Drupalcamp gent
Display suite 2 - Drupalcamp gent
 
The state of drupal 8 - Drupalcamp Gent
The state of drupal 8  - Drupalcamp GentThe state of drupal 8  - Drupalcamp Gent
The state of drupal 8 - Drupalcamp Gent
 
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
Drupal campmanila 2012 (Responsive Web in Drupal with Omega Theme)
 
Introducción a Agile y Scrum
Introducción a Agile y ScrumIntroducción a Agile y Scrum
Introducción a Agile y Scrum
 
Introducción a Agile y Scrum (BetaBeers.com)
Introducción a Agile y Scrum (BetaBeers.com)Introducción a Agile y Scrum (BetaBeers.com)
Introducción a Agile y Scrum (BetaBeers.com)
 
Testing early mysql releases in a sandbox
Testing early mysql releases in a sandboxTesting early mysql releases in a sandbox
Testing early mysql releases in a sandbox
 

Plus de Esteban Lorenzano

Plus de Esteban Lorenzano (8)

Spec 2.0
Spec 2.0Spec 2.0
Spec 2.0
 
Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.
 
Tide - The missing web framework
Tide - The missing web frameworkTide - The missing web framework
Tide - The missing web framework
 
iBizLog - ESUG2010
iBizLog - ESUG2010iBizLog - ESUG2010
iBizLog - ESUG2010
 
Mars - ESUG 2010
Mars - ESUG 2010Mars - ESUG 2010
Mars - ESUG 2010
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhone
 
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
 
Seaside, El framework hereje
Seaside, El framework herejeSeaside, El framework hereje
Seaside, El framework hereje
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Reef - ESUG2011

  • 1. Reef AJAX the way it should be miércoles 29 de febrero de 12
  • 2. Who am I? miércoles 29 de febrero de 12
  • 3. Who am I? • The guy who builds a VM, and everybody hates because their plugins are not ready miércoles 29 de febrero de 12
  • 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 miércoles 29 de febrero de 12
  • 5. Last year... • Reef presentation was a big success (thanks!) • Some of you tried it and provide valuable feedback... miércoles 29 de febrero de 12
  • 6. But not everybody present here today was present last year... So... what’s Reef? miércoles 29 de febrero de 12
  • 8. Nesting problem Functionality is distributed all around the component (and could be worse) • renderContentOn: sends renderRegionsOn: sends renderCitiesOn: miércoles 29 de febrero de 12
  • 9. Nesting problem Real problem is we are still programing in HTML (yes, with smalltalk “flavour”, but still HTML) miércoles 29 de febrero de 12
  • 10. Reef summary AJAX/Javascript component framework for Seaside. miércoles 29 de febrero de 12
  • 11. Reef summary Models HTML/Javascript components into Smalltalk objects miércoles 29 de febrero de 12
  • 12. Reef summary Hides communication complexity miércoles 29 de febrero de 12
  • 14. Reef architecture Dispatcher miércoles 29 de febrero de 12
  • 15. A trade-off (yep, there is always one) An extra request (not always, but enough to be taken into account) miércoles 29 de febrero de 12
  • 16. Communication • We handle interactions through callbacks, just as Seaside • Texto But all callbacks should be threat the same • AJAX calls • regular requests • client behavior miércoles 29 de febrero de 12
  • 17. Example miércoles 29 de febrero de 12
  • 18. Coming to your image... this year! miércoles 29 de febrero de 12
  • 19. What changed (for good) Better integration with jQuery: skins, widget box miércoles 29 de febrero de 12
  • 20. What changed (for good) An important optimization: #asReefTriggerCallback miércoles 29 de febrero de 12
  • 21. What changed (for good) More widgets (but still just those I need) miércoles 29 de febrero de 12
  • 22. What’s new (and testing) Composites miércoles 29 de febrero de 12
  • 23. What’s new (and testing) • Magritte-Reef • Brings web 2.0 to Magritte-Seaside • Ease cool effects: • tooltips, masks, etc. • Complex behaviors miércoles 29 de febrero de 12
  • 24. What remains (and it shouldn’t) • Documentation is still poor • Reef protocol names are still ugly • Testing is still non-existent miércoles 29 de febrero de 12
  • 25. The heresy revisited (we need to be heretics again) miércoles 29 de febrero de 12
  • 26. you know: miércoles 29 de febrero de 12
  • 27. why not: miércoles 29 de febrero de 12
  • 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? miércoles 29 de febrero de 12
  • 29. Questions? http://squeaksource.com/Reef miércoles 29 de febrero de 12