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




viernes 8 de octubre de 2010
Who am I?

                • Esteban Lorenzano, 38
                • In the community since 2007
                 • Started “Smallworks” with two friends, to
                           work on Smalltalk projects (Mostly).
                • Other community projects: Mars,
                      SqueakDBX, Gofer Project Loader



viernes 8 de octubre de 2010
Seaside is cool...


                               For all the reasons you already know
                                  So, why we need another tool?




viernes 8 de octubre de 2010
So, what’s Reef?


                        Javascript/Ajax component framework for
                                          Seaside




viernes 8 de octubre de 2010
The problem


                     We want to provide a transparent model,
                   where all the diferent kinds of interactions are
                               handled the same way.




viernes 8 de octubre de 2010
Architecture

                                                                 Server


                                          Browser

                  Dispatcher at client
                  side handles browser-
                                                    Dispatcher


                  to-smalltalk
                  interaction.                        Page




viernes 8 de octubre de 2010
Architecture

                • Uses jQuery
                 • First version uses both: prototype and
                           jQuery, but that was ugly and fortunately
                           deprecated




viernes 8 de octubre de 2010
Architecture


                • “Some kind” Model-View-Controller
                 • but, as Seaside, Reef components has view-
                           controller at the same place.




viernes 8 de octubre de 2010
Architecture


                • You can add any component (with any
                      complexity) as a Seaside component.
                     • call #asComponent


viernes 8 de octubre de 2010
Relax moment




viernes 8 de octubre de 2010
Component model
                • You create your components
                 • by extending a REContainer (can be
                           REPanel, REForm, etc.)
                     • or creating a widget structure inside a
                           Seaside component.
                • Right now, just those widgets I needed... but
                      extensible any time.


viernes 8 de octubre de 2010
Demo



viernes 8 de octubre de 2010
Conventions
                • Buttons should trigger an action, not a form
                      submission. (#callback:)
                • Forms should allow triggering (#trigger,
                      #triggerThenDo:)
                     • Form widgets also
                • Just panels can be refreshed (#refresh,
                      #refreshThenDo:)


viernes 8 de octubre de 2010
Demo



viernes 8 de octubre de 2010
Using callbacks

                • Simple callbacks. It fires a “dispatch” action,
                      which is a simple “jQuery load” (but you
                      don’t do it).
                • Client callbacks. Generates a jQuery script,
                      which is executed in the browser.
                • Page callbacks. It renders a new page.

viernes 8 de octubre de 2010
Demo



viernes 8 de octubre de 2010
Context
                •     Some times you need to force some behavior,
                      and you need to know if you are inside a Reef
                      callback or a normal callback.
                     •     REContext
                          •    #isInContext
                          •    #inPage:, #inClient:
                     •     Example: REComponent>>#answer renders a
                           new page


viernes 8 de octubre de 2010
Demo



viernes 8 de octubre de 2010
Relax moment




viernes 8 de octubre de 2010
Decorations

                • Just like Seaside, your components can be
                      decorated to add behavior
                • Unlike Seaside, you can decorate widgets
                      too. It allows elegant adding of plugins.
                     • Numeric format on text field
                     • Date format on text field

viernes 8 de octubre de 2010
Demo



viernes 8 de octubre de 2010
Plugins

                • You can easily add jQuery plugins, just need
                      to find the right insertion point
                     • Most of the times they can be added to
                           existing widgets through decorations (e.g.
                           RETextField>>#beDate)




viernes 8 de octubre de 2010
No more demos



viernes 8 de octubre de 2010
What’s next?


                • Add more components
                • Getting some feedback from the community
                 • Please, use it!


viernes 8 de octubre de 2010
Questions?




                               http://squeaksource.com/Reef




viernes 8 de octubre de 2010

Contenu connexe

Tendances

Sharing content between hippo and solr
Sharing content between hippo and solrSharing content between hippo and solr
Sharing content between hippo and solrJettro Coenradie
 
Appengine ja-night-10
Appengine ja-night-10Appengine ja-night-10
Appengine ja-night-10John Woodell
 
Realities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectRealities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectToshiharu Harada, Ph.D
 
Debugging your JavaScript
Debugging your JavaScriptDebugging your JavaScript
Debugging your JavaScriptDiogo Antunes
 
Advanced android
Advanced androidAdvanced android
Advanced androiddonnfelker
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_studentsScott Motte
 
Ops for Developers
Ops for DevelopersOps for Developers
Ops for DevelopersMojo Lingo
 
Jeff mc cune sf 2010
Jeff mc cune sf 2010Jeff mc cune sf 2010
Jeff mc cune sf 2010Puppet
 
Introduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSIntroduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSgjj391
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QAPavel Gabriel
 
HTML5: Toolkits and Gaps
HTML5: Toolkits and GapsHTML5: Toolkits and Gaps
HTML5: Toolkits and Gapsdylanks
 
Modern web application model
Modern web application modelModern web application model
Modern web application modelMichal Taberski
 

Tendances (14)

Sharing content between hippo and solr
Sharing content between hippo and solrSharing content between hippo and solr
Sharing content between hippo and solr
 
Appengine ja-night-10
Appengine ja-night-10Appengine ja-night-10
Appengine ja-night-10
 
Realities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectRealities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux project
 
Debugging your JavaScript
Debugging your JavaScriptDebugging your JavaScript
Debugging your JavaScript
 
Advanced android
Advanced androidAdvanced android
Advanced android
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
Ops for Developers
Ops for DevelopersOps for Developers
Ops for Developers
 
Jeff mc cune sf 2010
Jeff mc cune sf 2010Jeff mc cune sf 2010
Jeff mc cune sf 2010
 
Introduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSIntroduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJS
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QA
 
HTML5: Toolkits and Gaps
HTML5: Toolkits and GapsHTML5: Toolkits and Gaps
HTML5: Toolkits and Gaps
 
Oscon 2010
Oscon 2010Oscon 2010
Oscon 2010
 
Modern web application model
Modern web application modelModern web application model
Modern web application model
 
Ruby Loves Dot Net
Ruby Loves Dot NetRuby Loves Dot Net
Ruby Loves Dot Net
 

En vedette

Comics and the Storytelling Imperative
Comics and the Storytelling ImperativeComics and the Storytelling Imperative
Comics and the Storytelling ImperativeRyan Evans
 
2012 oct 22 shaping access presentation_alt
2012 oct 22  shaping access presentation_alt2012 oct 22  shaping access presentation_alt
2012 oct 22 shaping access presentation_altEuropeana
 
2013 oct 26 alez culture! past, present, future of europeana
2013 oct 26  alez culture! past, present, future of europeana2013 oct 26  alez culture! past, present, future of europeana
2013 oct 26 alez culture! past, present, future of europeanaEuropeana
 
Meet Charlie - What is Enterprise 2.0?
Meet Charlie - What is Enterprise 2.0?Meet Charlie - What is Enterprise 2.0?
Meet Charlie - What is Enterprise 2.0?倉博 胡
 
Photocopier Routine Maintenance
Photocopier Routine MaintenancePhotocopier Routine Maintenance
Photocopier Routine MaintenancePeter Thayer
 
Descriptive Statistics in the NCAA
Descriptive Statistics in the NCAADescriptive Statistics in the NCAA
Descriptive Statistics in the NCAAsrkthomas
 
Open Content Business Models
Open Content Business ModelsOpen Content Business Models
Open Content Business ModelsEuropeana
 
Sistema solar per Marta i Carlota
Sistema solar  per Marta i CarlotaSistema solar  per Marta i Carlota
Sistema solar per Marta i Carlotajoanmolar
 
Europeana- The European Information Landscape
Europeana- The European Information LandscapeEuropeana- The European Information Landscape
Europeana- The European Information LandscapeEuropeana
 
Lite färsk omvärldsbevakning
Lite färsk omvärldsbevakningLite färsk omvärldsbevakning
Lite färsk omvärldsbevakningPetter Kolseth
 
Mobiel leren: Another hype?
Mobiel leren: Another hype?Mobiel leren: Another hype?
Mobiel leren: Another hype?Rob Nadolski
 
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 iPhoneEsteban Lorenzano
 
Roger Noe Jorge Adri
Roger Noe Jorge AdriRoger Noe Jorge Adri
Roger Noe Jorge Adrijoanmolar
 
En guidad tur i en uppkopplad värld - Hur jag använder sociala media
En guidad tur i en uppkopplad värld - Hur jag använder sociala mediaEn guidad tur i en uppkopplad värld - Hur jag använder sociala media
En guidad tur i en uppkopplad värld - Hur jag använder sociala mediaPetter Kolseth
 
Europeana cloud jun 2016
Europeana cloud jun 2016 Europeana cloud jun 2016
Europeana cloud jun 2016 Europeana
 
Unlocking value: museums and the web 09
Unlocking value: museums and the web 09Unlocking value: museums and the web 09
Unlocking value: museums and the web 09Europeana
 

En vedette (20)

Critica Power
Critica PowerCritica Power
Critica Power
 
Comics and the Storytelling Imperative
Comics and the Storytelling ImperativeComics and the Storytelling Imperative
Comics and the Storytelling Imperative
 
2012 oct 22 shaping access presentation_alt
2012 oct 22  shaping access presentation_alt2012 oct 22  shaping access presentation_alt
2012 oct 22 shaping access presentation_alt
 
2013 oct 26 alez culture! past, present, future of europeana
2013 oct 26  alez culture! past, present, future of europeana2013 oct 26  alez culture! past, present, future of europeana
2013 oct 26 alez culture! past, present, future of europeana
 
Vida jaufre
Vida jaufreVida jaufre
Vida jaufre
 
Meet Charlie - What is Enterprise 2.0?
Meet Charlie - What is Enterprise 2.0?Meet Charlie - What is Enterprise 2.0?
Meet Charlie - What is Enterprise 2.0?
 
Photocopier Routine Maintenance
Photocopier Routine MaintenancePhotocopier Routine Maintenance
Photocopier Routine Maintenance
 
Descriptive Statistics in the NCAA
Descriptive Statistics in the NCAADescriptive Statistics in the NCAA
Descriptive Statistics in the NCAA
 
Open Content Business Models
Open Content Business ModelsOpen Content Business Models
Open Content Business Models
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Sistema solar per Marta i Carlota
Sistema solar  per Marta i CarlotaSistema solar  per Marta i Carlota
Sistema solar per Marta i Carlota
 
Europeana- The European Information Landscape
Europeana- The European Information LandscapeEuropeana- The European Information Landscape
Europeana- The European Information Landscape
 
Lite färsk omvärldsbevakning
Lite färsk omvärldsbevakningLite färsk omvärldsbevakning
Lite färsk omvärldsbevakning
 
Mobiel leren: Another hype?
Mobiel leren: Another hype?Mobiel leren: Another hype?
Mobiel leren: Another hype?
 
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
 
Roger Noe Jorge Adri
Roger Noe Jorge AdriRoger Noe Jorge Adri
Roger Noe Jorge Adri
 
En guidad tur i en uppkopplad värld - Hur jag använder sociala media
En guidad tur i en uppkopplad värld - Hur jag använder sociala mediaEn guidad tur i en uppkopplad värld - Hur jag använder sociala media
En guidad tur i en uppkopplad värld - Hur jag använder sociala media
 
Pares p4
Pares p4Pares p4
Pares p4
 
Europeana cloud jun 2016
Europeana cloud jun 2016 Europeana cloud jun 2016
Europeana cloud jun 2016
 
Unlocking value: museums and the web 09
Unlocking value: museums and the web 09Unlocking value: museums and the web 09
Unlocking value: museums and the web 09
 

Similaire à Reef - ESUG 2010

Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4Nuxeo
 
Akka scalaliftoff london_2010
Akka scalaliftoff london_2010Akka scalaliftoff london_2010
Akka scalaliftoff london_2010Skills Matter
 
Javascript framework and backbone
Javascript framework and backboneJavascript framework and backbone
Javascript framework and backboneDaniel Lv
 
OvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programmingOvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programmingTor Björn Minde
 
HTML5 impact on application programming
HTML5 impact on application programmingHTML5 impact on application programming
HTML5 impact on application programmingEricsson Labs
 
An introduction to GWT and Ext GWT
An introduction to GWT and Ext GWTAn introduction to GWT and Ext GWT
An introduction to GWT and Ext GWTDarrell Meyer
 
Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06Skills Matter
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portlanddmethvin
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)jeresig
 
NodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebNodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebJakub Nesetril
 
NeXTPLAN: Enterprise software that rocks!
NeXTPLAN: Enterprise software that rocks!NeXTPLAN: Enterprise software that rocks!
NeXTPLAN: Enterprise software that rocks!ESUG
 
node.js for front-end developers
node.js for front-end developersnode.js for front-end developers
node.js for front-end developersGarann Means
 
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE EditorImplementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editorpeychevi
 
What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?Darren Cruse
 
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...Codecamp Romania
 

Similaire à Reef - ESUG 2010 (20)

Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4Sneak Peek of Nuxeo 5.4
Sneak Peek of Nuxeo 5.4
 
Akka scalaliftoff london_2010
Akka scalaliftoff london_2010Akka scalaliftoff london_2010
Akka scalaliftoff london_2010
 
Javascript framework and backbone
Javascript framework and backboneJavascript framework and backbone
Javascript framework and backbone
 
Railsconf 2010
Railsconf 2010Railsconf 2010
Railsconf 2010
 
OvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programmingOvertheAir 2010 html5 impact on application programming
OvertheAir 2010 html5 impact on application programming
 
HTML5 impact on application programming
HTML5 impact on application programmingHTML5 impact on application programming
HTML5 impact on application programming
 
An introduction to GWT and Ext GWT
An introduction to GWT and Ext GWTAn introduction to GWT and Ext GWT
An introduction to GWT and Ext GWT
 
Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06Html5 apps nikolaionken-08-06
Html5 apps nikolaionken-08-06
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
Noit ocon-2010
Noit ocon-2010Noit ocon-2010
Noit ocon-2010
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
 
NodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time WebNodeJS, CoffeeScript & Real-time Web
NodeJS, CoffeeScript & Real-time Web
 
Is these a bug
Is these a bugIs these a bug
Is these a bug
 
NeXTPLAN: Enterprise software that rocks!
NeXTPLAN: Enterprise software that rocks!NeXTPLAN: Enterprise software that rocks!
NeXTPLAN: Enterprise software that rocks!
 
Node at artsy
Node at artsyNode at artsy
Node at artsy
 
node.js for front-end developers
node.js for front-end developersnode.js for front-end developers
node.js for front-end developers
 
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE EditorImplementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editor
 
What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?What's this NetKernel Thing Anyway?
What's this NetKernel Thing Anyway?
 
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
Vlad Zelinschi - Embrace Native JavaScript (the anti-plugins talk) - Codecamp...
 
Stackato v3
Stackato v3Stackato v3
Stackato v3
 

Plus de Esteban Lorenzano

Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Esteban Lorenzano
 
Tide - The missing web framework
Tide - The missing web frameworkTide - The missing web framework
Tide - The missing web frameworkEsteban Lorenzano
 
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...Esteban Lorenzano
 
Seaside, El framework hereje
Seaside, El framework herejeSeaside, El framework hereje
Seaside, El framework herejeEsteban 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.
 
Voyage by example
Voyage by exampleVoyage by example
Voyage by example
 
Tide - The missing web framework
Tide - The missing web frameworkTide - The missing web framework
Tide - The missing web framework
 
Voyage - PharoConf 2012
Voyage - PharoConf 2012Voyage - PharoConf 2012
Voyage - PharoConf 2012
 
Reef - ESUG2011
Reef  - ESUG2011Reef  - ESUG2011
Reef - ESUG2011
 
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

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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 REVIEWERMadyBayot
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
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].pdfOverkill Security
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
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 Takeoffsammart93
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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...Martijn de Jong
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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 Scriptwesley chun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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, ...apidays
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+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...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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, ...
 

Reef - ESUG 2010

  • 1. Reef Ajax the way it should be viernes 8 de octubre de 2010
  • 2. Who am I? • Esteban Lorenzano, 38 • In the community since 2007 • Started “Smallworks” with two friends, to work on Smalltalk projects (Mostly). • Other community projects: Mars, SqueakDBX, Gofer Project Loader viernes 8 de octubre de 2010
  • 3. Seaside is cool... For all the reasons you already know So, why we need another tool? viernes 8 de octubre de 2010
  • 4. So, what’s Reef? Javascript/Ajax component framework for Seaside viernes 8 de octubre de 2010
  • 5. The problem We want to provide a transparent model, where all the diferent kinds of interactions are handled the same way. viernes 8 de octubre de 2010
  • 6. Architecture Server Browser Dispatcher at client side handles browser- Dispatcher to-smalltalk interaction. Page viernes 8 de octubre de 2010
  • 7. Architecture • Uses jQuery • First version uses both: prototype and jQuery, but that was ugly and fortunately deprecated viernes 8 de octubre de 2010
  • 8. Architecture • “Some kind” Model-View-Controller • but, as Seaside, Reef components has view- controller at the same place. viernes 8 de octubre de 2010
  • 9. Architecture • You can add any component (with any complexity) as a Seaside component. • call #asComponent viernes 8 de octubre de 2010
  • 10. Relax moment viernes 8 de octubre de 2010
  • 11. Component model • You create your components • by extending a REContainer (can be REPanel, REForm, etc.) • or creating a widget structure inside a Seaside component. • Right now, just those widgets I needed... but extensible any time. viernes 8 de octubre de 2010
  • 12. Demo viernes 8 de octubre de 2010
  • 13. Conventions • Buttons should trigger an action, not a form submission. (#callback:) • Forms should allow triggering (#trigger, #triggerThenDo:) • Form widgets also • Just panels can be refreshed (#refresh, #refreshThenDo:) viernes 8 de octubre de 2010
  • 14. Demo viernes 8 de octubre de 2010
  • 15. Using callbacks • Simple callbacks. It fires a “dispatch” action, which is a simple “jQuery load” (but you don’t do it). • Client callbacks. Generates a jQuery script, which is executed in the browser. • Page callbacks. It renders a new page. viernes 8 de octubre de 2010
  • 16. Demo viernes 8 de octubre de 2010
  • 17. Context • Some times you need to force some behavior, and you need to know if you are inside a Reef callback or a normal callback. • REContext • #isInContext • #inPage:, #inClient: • Example: REComponent>>#answer renders a new page viernes 8 de octubre de 2010
  • 18. Demo viernes 8 de octubre de 2010
  • 19. Relax moment viernes 8 de octubre de 2010
  • 20. Decorations • Just like Seaside, your components can be decorated to add behavior • Unlike Seaside, you can decorate widgets too. It allows elegant adding of plugins. • Numeric format on text field • Date format on text field viernes 8 de octubre de 2010
  • 21. Demo viernes 8 de octubre de 2010
  • 22. Plugins • You can easily add jQuery plugins, just need to find the right insertion point • Most of the times they can be added to existing widgets through decorations (e.g. RETextField>>#beDate) viernes 8 de octubre de 2010
  • 23. No more demos viernes 8 de octubre de 2010
  • 24. What’s next? • Add more components • Getting some feedback from the community • Please, use it! viernes 8 de octubre de 2010
  • 25. Questions? http://squeaksource.com/Reef viernes 8 de octubre de 2010

Notes de l'éditeur

  1. In particular, Seaside 3.0 has a really good integration with javascript, jQuery and prototype. Components for Ajax Modelling, reusing Because javascript is hard, and even with great tools like Javascript and jQuery packages from Seaside, it is tricky.
  2. Yes, this adds some overhead to the client/server interaction, but i think totally valuable.
  3. The other way (any component can be viewed as a “view”, by calling #asView), was deprecated because I wasn’t using it, but can be back