SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
WebObjects &
Mootools
Introduction to Direct-Action based AJAX with
WebObjects and Mootools

Jake MacMullin, BBC
Jake MacMullin
Direct
Action
WebObjects
Why?
javascript
javascript?
Douglas Crockford,
"The JavaScript Programming Language"
http://video.yahoo.com/watch/111593
What is ‘Direct Action AJAX’?
AJAX
AJAX
Asynchronous
AJAX
 Javascript
AJAX
  And
AJAXml
   X
Component-based AJAX




                The current count is X



                       Hello.wo


                                  Hello.java
Component-based AJAX




                The current count is X



                       Hello.wo


                                  Hello.java
Component-based AJAX




                The current count is X



                       Hello.wo


                                  Hello.java
                                  Hello.java
Component-based AJAX




                The current count is X



                              count
                       Hello.wo          = 0;

                                  Hello.java
                                  Hello.java
Component-based AJAX




The current count is 0
                                         The current count is X



                                                       count
                                                Hello.wo          = 0;

       HTML
                                                           Hello.java
Component-based AJAX




The current count is 0
                                         The current count is X



                                                       count
                                                Hello.wo          = 0;

       HTML
                                                           Hello.java
Component-based AJAX




The current count is 0
                                         The current count is X



                                                Hello.wo count == 0;
                                                       count       1;

       HTML
                                                           Hello.java
                                                           Hello.java
Component-based AJAX




The current count is 0                    The current count is 1
                                         The current count is X



                                                Hello.wo count == 0;
                                                       count       1;

       HTML
                                                           Hello.java
                                                           Hello.java
Component-based AJAX




The current count is 0
The current count is 1
                                         The current count is X



                                                Hello.wo count == 0;
                                                       count       1;

       HTML
                                                           Hello.java
                                                           Hello.java
Direct Action-based AJAX




The current count is 0




                                        DirectAction.java


       HTML
Direct Action-based AJAX




The current count is 0




                                        DirectAction.java


       HTML
Direct Action-based AJAX




The current count is 0




                                        DirectAction.java


       HTML
Direct Action-based AJAX




The current count is 0




                                                 DirectAction.java


       HTML




                                 count = 1;
                                  Session.java
Direct Action-based AJAX




The current count is 0




                                         DirectAction.java


       HTML




                                 count = 1;

                                            Hello.wo

                                                Hello.java
Direct Action-based AJAX




The current count is 0                The current count is 1



                                            DirectAction.java


       HTML




                                 count = 1;

                                              Hello.wo

                                                   Hello.java
Direct Action-based AJAX




The current count is 0
The current count is 1



                                         DirectAction.java


       HTML




                                 count = 1;

                                            Hello.wo

                                                Hello.java
Why use Direct Actions?
Why use Direct Actions?

•   Most of the time, you won’t
Why use Direct Actions?

•   Most of the time, you won’t
•   ‘Single Page’ applications
Why use Direct Actions?

•   Most of the time, you won’t
•   ‘Single Page’ applications
•   Separation of concerns
Why use Direct Actions?

•   Most of the time, you won’t
•   ‘Single Page’ applications
•   Separation of concerns
•   ‘Disconnected’ client (eg. Adobe Air)
MooTools is a compact, modular,
Object-Oriented JavaScript framework
   designed for the intermediate to
   advanced JavaScript developer. It
allows you to write powerful, flexible,
   and cross-browser code with its
    elegant, well documented, and
             coherent API.
MooTools is a compact, modular,
Object-Oriented JavaScript framework
   designed for the intermediate to
   advanced JavaScript developer. It
allows you to write powerful, flexible,
   and cross-browser code with its
    elegant, well documented, and
             coherent API.
Mootools
Mootools


•   Light-weight (68k minified)
Mootools


•   Light-weight (68k minified)
•   Modular (take the bits you need)
Mootools


•   Light-weight (68k minified)
•   Modular (take the bits you need)
•   Makes javascript a bit more like Java
Mootools
Mootools




Core   Class   Native
Mootools



Element   Effects   Remote




 Core     Class     Native
Mootools
Scroller   Sortable    Tips




Element    Effects    Remote




 Core       Class     Native
Notes demo
Component editor demo
Q&A
For more information:
jake.macmullin@bbc.co.uk

Mootools:
http://mootools.net

Mais conteúdo relacionado

Mais de WO Community

Mais de WO Community (20)

Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
High availability
High availabilityHigh availability
High availability
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
 
Chaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real WorldChaining the Beast - Testing Wonder Applications in the Real World
Chaining the Beast - Testing Wonder Applications in the Real World
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
WOver
WOverWOver
WOver
 
Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 
WOdka
WOdkaWOdka
WOdka
 
ERGroupware
ERGroupwareERGroupware
ERGroupware
 
D2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerD2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRoller
 

Último

Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Último (20)

Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 

WebObjects & Mootools