SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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, Adobeapidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
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.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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 CVKhem
 
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...apidays
 

Kürzlich hochgeladen (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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...
 

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

Hinweis der Redaktion

  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