The Future of
Firefox and JavaScript
           John Resig (ejohn.org)
    Mozilla Corporation / jQuery JavaScript Library...
The Future of Firefox
    Graphics
✦
    ✦ SVG
    ✦ Canvas

    Video and Audio
✦

    Offline Web Applications
✦

    XMLH...
SVG
    SVG Foreign Object
✦
    ✦ Import normal HTML elements
    ✦ Demo: http://starkravingfinkle.org/blog/2007/07/firefox...
Canvas 3D
Canvas 3D
    Works like normal 2D Canvas
✦

    Thin layer to OpenGL
✦

    Can embed native shader scripts
✦
    ✦ Run n...
Shader Scripting
    <script type=”x-shader/x-fragment”>
✦
      void main(void) {
         gl_FragColor = vec4(0.0, 1.0, ...
<video/> and <audio/>
    Pioneered by Opera
✦

    Generic means of playing video and audio
✦

    Full JavaScript API
✦
...
Offline Web Apps
    Very new territory
✦

    Three Specs:
✦
    ✦ Mozilla
    ✦ Google Gears
    ✦ WHATWG

    Working to ...
Offline Web Apps
    Global Storage
✦
    ✦ Cookies++

    File caching (CSS, Images, etc.)
✦

    offline/online-mode detecti...
XMLHttpRequest++
    Cross-domain XMLHttpRequest
✦
    ✦ Already landed, in Firefox 3

    JSON (De-)Serialization
✦
    ✦...
Desktop Integration
    Webrunner
✦
    ✦ Deployable web applications
    ✦ (Built on XULRunner)

    Prism (Still in Plan...
The Future of JavaScript
    “Old” Versions:
✦
    ✦ Firefox 1.5: JavaScript 1.6
    ✦ Firefox 2.0: JavaScript 1.7

    Ne...
JavaScript 2
    Optional Type Annotation
✦
    ✦ var foo : string = “”;
    ✦ type Pair = [ int, string ];
    ✦ var bar ...
JavaScript 2
    Block-Scoped Variables
✦
    ✦ let foo = “test”;

    Packages
✦
    ✦ package com.mozilla.Foo;
      imp...
Tamarin
    Tamarin
✦
    ✦ New Virtual Machine from Adobe
    ✦ Perfect for ActionScript
      ✦ (a mutant cousin of Java...
Three Monkies
    ActionMonkey
✦
    ✦ Integrating Tamarin into SpiderMonkey
    ✦ Powering Firefox 4 (?) + JavaScript 2

...
Server-Side JavaScript
    As old as JavaScript itself
✦

    Seeing a strong resurgence
✦

    Web Application Dev:
✦
   ...
Rhino
    JavaScript implemented in Java
✦
    ✦ Full JS 1.6 Support
    ✦ Upcoming JS 1.7 Support

    Full access to Jav...
Questions, et. al.
    Bright future! Enjoy!
✦

    John Resig
✦
    http://ejohn.org/
Upcoming SlideShare
Loading in …5
×

The Future of Firefox and JavaScript

25,108 views
24,796 views

Published on

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/

3 Comments
22 Likes
Statistics
Notes
  • I think it is better you put some picture in there. looks more interesting and inviting

    Regards
    Teisha
    http://winkhealth.com
    http://financewink.com
    http://www.fakhriramley.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @praveen: There were more comments but they got deleted when I uploaded a new version of the slideshow (lame). Sorry everyone!<br /><br/>
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • I don't know why people have not made any comment on this slideshow but future looks great to me form this angle too<br /><br/>
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
25,108
On SlideShare
0
From Embeds
0
Number of Embeds
471
Actions
Shares
0
Downloads
945
Comments
3
Likes
22
Embeds 0
No embeds

No notes for slide

The 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
  4. Canvas 3D
  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/ ✦
  6. Shader Scripting <script type=”x-shader/x-fragment”> ✦ void main(void) { gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0); } </script> <script type=”x-shader/x-vertex”> attribute vec4 myVertex; uniform mat4 myPMVMatrix; void main(void) { gl_Position = myPMVMatrix * myVertex; } </script>
  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) ✦
  10. XMLHttpRequest++ Cross-domain XMLHttpRequest ✦ ✦ Already landed, in Firefox 3 JSON (De-)Serialization ✦ ✦ object.toJSONString(); ✦ string.parseJSON();
  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
  12. The Future of JavaScript “Old” Versions: ✦ ✦ Firefox 1.5: JavaScript 1.6 ✦ Firefox 2.0: JavaScript 1.7 New Versions: ✦ ✦ Firefox 3: JavaScript 1.8 ✦ Firefox 4 (?): JavaScript 2 Virtual Machines ✦ Server-Side JavaScript ✦
  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; }
  14. JavaScript 2 Block-Scoped Variables ✦ ✦ let foo = “test”; Packages ✦ ✦ package com.mozilla.Foo; import com.jquery.query; query(“div”); Dictionaries ✦ ✦ Map.<*, 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 ✦
  19. Questions, et. al. Bright future! Enjoy! ✦ John Resig ✦ http://ejohn.org/

×