javaone 2008: what’s new in ajax
DESCRIPTION
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-controllersTRANSCRIPT
What’s New in Ajax
Ben Galbraith and Dion AlmaerFounders, Ajaxian.com
TS-6807
1Sunday, May 11, 2008
2Sunday, May 11, 2008
2Sunday, May 11, 2008
JavaFXian It’s “JavaFX”, not “Java”, stupid
2Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
3Sunday, May 11, 2008
Great User ExperienceGreat Developer Experience
4Sunday, May 11, 2008
Great User ExperienceGreat Developer Experience
4Sunday, May 11, 2008
Great User ExperienceGreat Developer ExperienceThe Future!
4Sunday, May 11, 2008
5Sunday, May 11, 2008
The Web didn’t used to be a beautiful place...
5Sunday, May 11, 2008
5Sunday, May 11, 2008
6Sunday, May 11, 2008
7Sunday, May 11, 2008
8Sunday, May 11, 2008
9Sunday, May 11, 2008
9Sunday, May 11, 2008
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
JavaScript
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
JavaScript
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
JavaScript Web Browsing
Browser
10Sunday, May 11, 2008
Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
JavaScript Web Browsing
Potential
Bottleneck
Browser
10Sunday, May 11, 2008
User Interface
BackgroundThread
2
Browser
1
11Sunday, May 11, 2008
User Interface
BackgroundThread
2X
Browser
1
11Sunday, May 11, 2008
User Interface
WorkerPool
Browser
1
WorkerPool
2 3
Message Passing
12Sunday, May 11, 2008
Macintosh HD
13Sunday, May 11, 2008
Macintosh HD
“You just got another email from your wife!”
13Sunday, May 11, 2008
Macintosh HD
“You just got another email from your wife!”
32
13Sunday, May 11, 2008
Macintosh HD
“You just got another email from your wife!”
32
13Sunday, May 11, 2008
Macintosh HD
“You just got another email from your wife!”
32
13Sunday, May 11, 2008
Fluid
MozillaPrism
Adobe AIR
14Sunday, May 11, 2008
Fluid
14Sunday, May 11, 2008
Fluid
37signals’Campfire
15Sunday, May 11, 2008
Fluid
37signals’Campfire
GreaseMonkey /GreaseKit
15Sunday, May 11, 2008
Aptana Jaxer
16Sunday, May 11, 2008
Aptana Jaxer
16Sunday, May 11, 2008
Aptana Jaxer
16Sunday, May 11, 2008
Aptana Jaxer
16Sunday, May 11, 2008
Aptana Jaxer
Netscape LiveWire1995
16Sunday, May 11, 2008
Browser Server
17Sunday, May 11, 2008
Browser Server
JavaScript
In the beginning, there was JavaScript in the browser
17Sunday, May 11, 2008
Browser Server
Java
JavaScript
Then Oak became Java and it entered the browser, too
17Sunday, May 11, 2008
Browser Server
Java
JavaScript
Applets sucked, but Servlets caught on
17Sunday, May 11, 2008
Browser Server
Java
JavaScript
Netscape tries to get JavaScript on the server
17Sunday, May 11, 2008
Browser Server
Java
JavaScript
But, server-side JavaScript never caught on, and client-side JavaScript was mocked
17Sunday, May 11, 2008
Browser Server
Java
Ajax comes along and JavaScript gets some respect once again
JavaScript
Ajax!
17Sunday, May 11, 2008
Browser Server
Java
JavaScript
Ajax!
Then Aptana moves Ajax to the server
JavaScript
Ajax!
17Sunday, May 11, 2008
Browser Server
Java
JavaScript
Ajax!
JavaScript
Ajax!
Java/JavaScriptHybrid Monster
Don’t forget GWT, which uses Java and embedded JavaScript to emit client-side JavaScript
17Sunday, May 11, 2008
Java
Browser Server
Java
JavaScript
Ajax!
JavaScript
Ajax!
Java/JavaScriptHybrid Monster
And now, finally, after nearly 15 years, we have a decent Java plug-in
17Sunday, May 11, 2008
Java
Browser Server
Java
JavaScript
Ajax!
JavaScript
Ajax!
Java/JavaScriptHybrid Monster
And now, finally, after nearly 15 years, we have a decent Java plug-in
17Sunday, May 11, 2008
18Sunday, May 11, 2008
Amazon EC2Elastic Compute Cloud
18Sunday, May 11, 2008
Amazon EC2Elastic Compute Cloud
19Sunday, May 11, 2008
Amazon EC2Elastic Compute Cloud
Google App Engine
19Sunday, May 11, 2008
Amazon EC2Elastic Compute Cloud
Google App Engine
Aptana Cloud
19Sunday, May 11, 2008
Web Services
Your Application
20Sunday, May 11, 2008
Web Services
Your Application
20Sunday, May 11, 2008
Web Services
Your Application
20Sunday, May 11, 2008
Web Services
Your Application
20Sunday, May 11, 2008
Web Services
Your Application
20Sunday, May 11, 2008
21Sunday, May 11, 2008
How to Choose an Ajax Framework
21Sunday, May 11, 2008
How to Choose an Ajax Framework
XHR
21Sunday, May 11, 2008
How to Choose an Ajax Framework
XHR
22Sunday, May 11, 2008
How to Choose an Ajax Framework
22Sunday, May 11, 2008
The Old Taxonomy
23Sunday, May 11, 2008
The Old Taxonomy
PrototypeLightweight Ajax/JavaScript helpers
23Sunday, May 11, 2008
The Old Taxonomy
PrototypeLightweight Ajax/JavaScript helpers
GWTHate JavaScript? No problem, use Java.
23Sunday, May 11, 2008
The Old Taxonomy
PrototypeLightweight Ajax/JavaScript helpers
GWTHate JavaScript? No problem, use Java.
jQueryNew, DOM-centric JavaScript helper
23Sunday, May 11, 2008
The Old Taxonomy
dojoYour Soup-to-Nuts Ajax/Javascript
Platform
PrototypeLightweight Ajax/JavaScript helpers
GWTHate JavaScript? No problem, use Java.
jQueryNew, DOM-centric JavaScript helper
23Sunday, May 11, 2008
The New Taxonomy
24Sunday, May 11, 2008
Prototype jQuery Dojo Core
The New Taxonomy
24Sunday, May 11, 2008
Prototype jQuery Dojo Core
Plug-in Communityscripteka.com
Plug-in Communityplugins.jquery.com
Plug-in Communitydojox
The New Taxonomy
24Sunday, May 11, 2008
Prototype jQuery Dojo Core
Plug-in Communityscripteka.com
Plug-in Communityplugins.jquery.com
Plug-in Communitydojox
Script.aculo.us jQuery UI dijit
The New Taxonomy
24Sunday, May 11, 2008
JavaScript Goodness
var SiteMap = Class.create(RuledTable, {
initialize: function($super, id, expanded) {
$super(id);
this.expandedRows = expanded;
},
...
});
25Sunday, May 11, 2008
DOM Goodness
$(document).bind("ready", function() {
$("div").bind("mousewheel", function(event, delta) {
if (delta < 0) {
$(this).append("up");
} else {
$(this).append("down");
}
);
});
26Sunday, May 11, 2008
CSS and Animations
dojo.query("#nav> .focusable").
attr("tabIndex", 0).
style("border", "1px solid transparent").
anim({
"borderColor": { start: "yellow",
end: "white" }
});
27Sunday, May 11, 2008
GWT Panels
String html = "<div id='one' "
+ "style='border:3px dotted blue;'>"
+ "</div><div id='two' "
+ "style='border:3px dotted green;'"
+ "></div>";
HTMLPanel panel = new HTMLPanel(html);
panel.setSize("200px", "120px");
panel.addStyleName("demo-panel");
panel.add(new Button("Do Nothing"), "one");
panel.add(new TextBox(), "two");
RootPanel.get("demo").add(panel);
28Sunday, May 11, 2008
Sam Stephenson, Creator of Prototype
Key Points:
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.
pdocinline documentation
SprocketsComponent packaging
EventsNew event bubbling sub system
29Sunday, May 11, 2008
Sam Stephenson, Creator of Prototype
Key Points:
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.
pdocinline documentation
SprocketsComponent packaging
EventsNew event bubbling sub system
29Sunday, May 11, 2008
John Resig, Creator of jQuery
Key Points:
jQuery pioneered the “CSS selector first” technique of applying behaviour to the DOM
jQuery Core 1.2.4Cross browser offset and DOM sizesNew event handlers for speed bump
jQuery Core 1.3New CSS selector engineDOM manipulation simplified
jQuery UI 1.5Ground rewriteLarge number of examples
30Sunday, May 11, 2008
John Resig, Creator of jQuery
Key Points:
jQuery pioneered the “CSS selector first” technique of applying behaviour to the DOM
jQuery Core 1.2.4Cross browser offset and DOM sizesNew event handlers for speed bump
jQuery Core 1.3New CSS selector engineDOM manipulation simplified
jQuery UI 1.5Ground rewriteLarge number of examples
30Sunday, May 11, 2008
Alex Russell, Dojo Co-founder
Key Points:
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.
Responsive applicationsFor all.
AccessibilityReally, all.
Full GUI toolkitDijit
31Sunday, May 11, 2008
Alex Russell, Dojo Co-founder
Key Points:
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.
Responsive applicationsFor all.
AccessibilityReally, all.
Full GUI toolkitDijit
31Sunday, May 11, 2008
Bruce Johnson, Founder of GWT
Key Points:
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.
Java 5 SupportGenerics, for loop, etc...
PerformanceWith a simple recompilation
JavaScript IntegrationNew simpler system
Rich componentsNative, and via community (Ext - GWT - Ext)
32Sunday, May 11, 2008
Bruce Johnson, Founder of GWT
Key Points:
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.
Java 5 SupportGenerics, for loop, etc...
PerformanceWith a simple recompilation
JavaScript IntegrationNew simpler system
Rich componentsNative, and via community (Ext - GWT - Ext)
32Sunday, May 11, 2008
XHR
33Sunday, May 11, 2008
XHR
33Sunday, May 11, 2008
34Sunday, May 11, 2008
34Sunday, May 11, 2008
35Sunday, May 11, 2008
35Sunday, May 11, 2008
35Sunday, May 11, 2008
35Sunday, May 11, 2008
35Sunday, May 11, 2008
wiiuse library
35Sunday, May 11, 2008
wiiuse library
JNI
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
wiiusej
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
wiiusej
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
WiiTracker
wiiusej
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
WiiTracker
wiiusej
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
WiiTracker
wiiusej
WiiApplet
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
WiiTracker
wiiusej
WiiApplet
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
WiiTracker
Browser
wiiusej
WiiApplet
35Sunday, May 11, 2008
wiiuse library
JNI
Java Plug-in
WiiTracker
Browser
JavaScript Dart Game
wiiusej
WiiApplet
35Sunday, May 11, 2008
36Sunday, May 11, 2008
36Sunday, May 11, 2008
The New Java Plug-inBeta Shipping Today with Java 1.6 “Update 10”
1 Java plug-in now out-of-processNo more locking up the browser UI on launchApplets can persist across browser sessionsMore control over the Applet’s JVM
2 Improved Applet deploymentJavaScript-based “Deployment Toolkit”Mature JNLP-based Applet metadata
3 A smaller JDKMicro-kernel gives streamlined download option
37Sunday, May 11, 2008
The Future?
38Sunday, May 11, 2008
The Breakdown of Modern Web Development
39Sunday, May 11, 2008
Safari CSS Animations
40Sunday, May 11, 2008
Safari CSS Reflections and Masks
41Sunday, May 11, 2008
Mozilla’s Monkeys?
42Sunday, May 11, 2008
43Sunday, May 11, 2008
43Sunday, May 11, 2008
Updating the Web...
44Sunday, May 11, 2008
HTML 5 Gears
• Standards• Long term• All browsers• No plugin
• Implementation• Battle hardened• A place for innovation• Cross browser• Plugin
Past
Present
Future
A bleeding edge version of HTML 5!
45Sunday, May 11, 2008
46Sunday, May 11, 2008
What’s New in AjaxDion Almaer and Ben Galbraith
TS-6807
47Sunday, May 11, 2008