Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,931 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/

  • 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

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/

×