The presentation that I gave at Future of Web Apps, London, October 3, 2007. More information here:
http://ejohn.org/blog/future-of-firefox-and-javascript/
1. The Future of
Firefox and JavaScript
John Resig (ejohn.org)
Mozilla Corporation / jQuery JavaScript Library
October 3rd, 2007 - Future of Web Apps
2. The Future of Firefox
Graphics
✦
✦ SVG
✦ Canvas
Video and Audio
✦
Offline Web Applications
✦
XMLHttpRequest++
✦
Desktop Integration
✦
3. SVG
SVG Foreign Object
✦
✦ Import normal HTML elements
✦ Demo: http://starkravingfinkle.org/blog/2007/07/firefox-3-svg-foreignobject/
Speed Improvements in the pipeline
✦
✦ Joost built on Mozilla platform
5. Canvas 3D
Works like normal 2D Canvas
✦
Thin layer to OpenGL
✦
Can embed native shader scripts
✦
✦ Run natively by the GPU
Extension: http://people.mozilla.com/~vladimir/canvas3d/
✦
7. <video/> and <audio/>
Pioneered by Opera
✦
Generic means of playing video and audio
✦
Full JavaScript API
✦
Guaranteed to play, at least, Ogg Theora
✦
Plugin more video/audio types
✦
Demo: http://www.double.co.nz/video_test/
✦
8. Offline Web Apps
Very new territory
✦
Three Specs:
✦
✦ Mozilla
✦ Google Gears
✦ WHATWG
Working to converge!
✦
✦ A final amalgam will be in Firefox 3
9. Offline Web Apps
Global Storage
✦
✦ Cookies++
File caching (CSS, Images, etc.)
✦
offline/online-mode detection
✦
File Uploads Queueing
✦
Some SQL-like stuff (work in progress)
✦
11. Desktop Integration
Webrunner
✦
✦ Deployable web applications
✦ (Built on XULRunner)
Prism (Still in Planning)
✦
✦ Webrunner in Firefox
✦ Bookmark puts an icon on the desktop
✦ Launches a dedicated application
13. JavaScript 2
Optional Type Annotation
✦
✦ var foo : string = “”;
✦ type Pair = [ int, string ];
✦ var bar : Vector.<Pair>;
Classes
✦
✦ class User {
var name : string;
var age : int;
}
15. Tamarin
Tamarin
✦
✦ New Virtual Machine from Adobe
✦ Perfect for ActionScript
✦ (a mutant cousin of JavaScript 2)
The Three Monkies:
✦
✦ ActionMonkey
✦ ScreamingMonkey
✦ IronMonkey
16. Three Monkies
ActionMonkey
✦
✦ Integrating Tamarin into SpiderMonkey
✦ Powering Firefox 4 (?) + JavaScript 2
ScreamingMonkey
✦
✦ Forcing Tamarin into Internet Explorer
✦ (Kicking and screaming?)
IronMonkey
✦
✦ Bringing Python + Ruby to Tamarin
17. Server-Side JavaScript
As old as JavaScript itself
✦
Seeing a strong resurgence
✦
Web Application Dev:
✦
✦ Helma
✦ Phobos
Application Dev:
✦
✦ Spidermonkey
✦ Rhino
18. Rhino
JavaScript implemented in Java
✦
✦ Full JS 1.6 Support
✦ Upcoming JS 1.7 Support
Full access to Java packages
✦
Weird fun:
✦
✦ var myString = new java.lang.String();
Awesome new territory:
✦
✦ var myThread = new java.lang.Thread();
DOM to the Server
✦