Ben and Dion give an overview of the state of Ajax at JavaOne, using Java technology too, and a fun Wii darts demo that you can see more info on at: http://ajaxian.com/archives/wii-darts-powering-ajax-applications-with-wii-controllers
28. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
Browser
Sunday, May 11, 2008 10
29. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
Browser
Sunday, May 11, 2008 10
30. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
Browser
Sunday, May 11, 2008 10
31. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
JavaScript
Browser
Sunday, May 11, 2008 10
32. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
JavaScript
Browser
Sunday, May 11, 2008 10
33. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
JavaScript Web Browsing
Browser
Sunday, May 11, 2008 10
34. Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Operating System Key Released
Event Queue
tial
oten neck
P le
t
Bot
JavaScript Web Browsing
Browser
Sunday, May 11, 2008 10
35. 1
Browser
User Interface
2
Background
Thread
Sunday, May 11, 2008 11
36. 1
Browser
User Interface
X
2
Background
Thread
Sunday, May 11, 2008 11
37. 1
Browser
User Interface Message Passing
2 3
WorkerPool WorkerPool
Sunday, May 11, 2008 12
53. Browser Server
JavaScript
In the beginning, there was JavaScript in the browser
Sunday, May 11, 2008 17
54. Browser Server
JavaScript
Java
Then Oak became Java and it entered the browser, too
Sunday, May 11, 2008 17
55. Browser Server
JavaScript
Java
Applets sucked, but Servlets caught on
Sunday, May 11, 2008 17
56. Browser Server
JavaScript
Java
Netscape tries to get JavaScript on the server
Sunday, May 11, 2008 17
57. Browser Server
JavaScript
Java
But, server-side JavaScript never caught on, and client-side JavaScript was mocked
Sunday, May 11, 2008 17
58. Browser Server
Aja
x!
JavaScript
Java
Ajax comes along and JavaScript gets some respect once again
Sunday, May 11, 2008 17
59. Browser Server
Aja Aja
x! x!
JavaScript JavaScript
Java
Then Aptana moves Ajax to the server
Sunday, May 11, 2008 17
60. Browser Server
Aja Aja
x! x!
JavaScript JavaScript
Java/JavaScript Java
Hybrid Monster
Don’t forget GWT, which uses Java and embedded JavaScript to emit client-side JavaScript
Sunday, May 11, 2008 17
61. Browser Server
Aja
x!
Aja
x!
JavaScript
JavaScript
Java/JavaScript
Hybrid Monster
Java
Java
And now, finally, after nearly 15 years, we have a decent Java plug-in
Sunday, May 11, 2008 17
62. Browser Server
Aja
x!
Aja
x!
JavaScript
JavaScript
Java/JavaScript
Hybrid Monster
Java
Java
And now, finally, after nearly 15 years, we have a decent Java plug-in
Sunday, May 11, 2008 17
79. The Old Taxonomy
Prototype
Lightweight Ajax/JavaScript helpers
Sunday, May 11, 2008 23
80. The Old Taxonomy
Prototype
Lightweight Ajax/JavaScript helpers
GWT
Hate JavaScript? No problem, use Java.
Sunday, May 11, 2008 23
81. The Old Taxonomy
Prototype
Lightweight Ajax/JavaScript helpers
GWT
Hate JavaScript? No problem, use Java.
jQuery
New, DOM-centric JavaScript helper
Sunday, May 11, 2008 23
82. The Old Taxonomy
Prototype
dojo
Lightweight Ajax/JavaScript helpers
GWT
Hate JavaScript? No problem, use Java.
Your Soup-to-Nuts Ajax/Javascript
Platform
jQuery
New, DOM-centric JavaScript helper
Sunday, May 11, 2008 23
84. The New Taxonomy
Prototype jQuery Dojo Core
Sunday, May 11, 2008 24
85. The New Taxonomy
Plug-in Community Plug-in Community Plug-in Community
scripteka.com plugins.jquery.com dojox
Prototype jQuery Dojo Core
Sunday, May 11, 2008 24
86. The New Taxonomy
Script.aculo.us jQuery UI dijit
Plug-in Community Plug-in Community Plug-in Community
scripteka.com plugins.jquery.com dojox
Prototype jQuery Dojo Core
Sunday, May 11, 2008 24
91. Prototype was one of the first mainstream Ajax frameworks. Originally a Ruby-on-Rails helper
library, it has been widely adopted as a JavaScript/Ajax helper library.
Key Points:
pdoc
inline documentation
Sprockets
Component packaging
Events
New event bubbling sub system
Sam Stephenson, Creator of Prototype
Sunday, May 11, 2008 29
92. Prototype was one of the first mainstream Ajax frameworks. Originally a Ruby-on-Rails helper
library, it has been widely adopted as a JavaScript/Ajax helper library.
Key Points:
pdoc
inline documentation
Sprockets
Component packaging
Events
New event bubbling sub system
Sam Stephenson, Creator of Prototype
Sunday, May 11, 2008 29
93. jQuery pioneered the “CSS selector first” technique of applying behaviour to the DOM
Key Points:
jQuery Core 1.2.4
Cross browser offset and DOM sizes
New event handlers for speed bump
jQuery Core 1.3
New CSS selector engine
DOM manipulation simplified
jQuery UI 1.5
Ground rewrite
Large number of examples
John Resig, Creator of jQuery
Sunday, May 11, 2008 30
94. jQuery pioneered the “CSS selector first” technique of applying behaviour to the DOM
Key Points:
jQuery Core 1.2.4
Cross browser offset and DOM sizes
New event handlers for speed bump
jQuery Core 1.3
New CSS selector engine
DOM manipulation simplified
jQuery UI 1.5
Ground rewrite
Large number of examples
John Resig, Creator of jQuery
Sunday, May 11, 2008 30
95. From its earliest days, Dojo has had the goal of being the JavaScript community’s de facto
platform, for both client-side and server-side applications.
Key Points:
Responsive applications
For all.
Accessibility
Really, all.
Full GUI toolkit
Dijit
Alex Russell, Dojo Co-founder
Sunday, May 11, 2008 31
96. From its earliest days, Dojo has had the goal of being the JavaScript community’s de facto
platform, for both client-side and server-side applications.
Key Points:
Responsive applications
For all.
Accessibility
Really, all.
Full GUI toolkit
Dijit
Alex Russell, Dojo Co-founder
Sunday, May 11, 2008 31
97. GWT is the framework for Java developers who don’t wish to learn JavaScript. A sort of Swing/
SWT for the Web, it focuses on productivity and performance.
Key Points:
Java 5 Support
Generics, for loop, etc...
Performance
With a simple recompilation
JavaScript Integration
New simpler system
Bruce Johnson, Founder of GWT Rich components
Native, and via community (Ext - GWT - Ext)
Sunday, May 11, 2008 32
98. GWT is the framework for Java developers who don’t wish to learn JavaScript. A sort of Swing/
SWT for the Web, it focuses on productivity and performance.
Key Points:
Java 5 Support
Generics, for loop, etc...
Performance
With a simple recompilation
JavaScript Integration
New simpler system
Bruce Johnson, Founder of GWT Rich components
Native, and via community (Ext - GWT - Ext)
Sunday, May 11, 2008 32
121. The New Java Plug-in
Beta Shipping Today with Java 1.6 “Update 10”
1 Java plug-in now out-of-process
No more locking up the browser UI on launch
Applets can persist across browser sessions
More control over the Applet’s JVM
2 Improved Applet deployment
JavaScript-based “Deployment Toolkit”
Mature JNLP-based Applet metadata
3 A smaller JDK
Micro-kernel gives streamlined download option
Sunday, May 11, 2008 37
130. Future
Present
Ab
leed
edg ing
vers e
of H ion
Past TML
5!
HTML 5 Gears
• Standards • Implementation
• Long term • Battle hardened
• A place for innovation
• All browsers • Cross browser
• No plugin • Plugin
Sunday, May 11, 2008 45