State of jQuery
   Fall 2010
     John Resig
State of the Project
Project
Spending Money
• All expenditures are handled via public
  voting
• What have we spent money on?
  • Team Meetings
  • Conferences
  • Audio/Video Equipment
  • Contract for Scott to do UI dev
Spending Money
• What will we be spending money on?
 • Improving server infrastructure
 • Getting more developer time to train and
    mentor new developers
 • Design work and jQuery Mobile
 • More team meetings and conferences
Governance Rules

• We’re in the process of finalizing some
  formal governance rules for the project
• This will set very clear guidelines on how
  finances can be used, votes held, and new
  members joining the project
Path to Contribution
• We’re actively working on a new set of
  public documents describing how to
  contribute
• Also setting up dedicated teams to help
  review and mentor new developers
• We want a constant, fresh, influx of new
  developers to the project!
Legal

• Working with the Software Freedom Law
  Center
• We’re in the final steps of transferring
  copyright of Packt’s ‘Learning jQuery 1.4’ to
  the project.
CLAs

• We’ve finalized a CLA process for jQuery
• We’re getting the full jQuery team to sign
  and all major contributors
• The project will hold the rights to the code
  base and have certain patent assurances as
  well
jQuery Store

• We’re starting to sell jQuery t-shirts today
  on the new jQuery store:
  • http://store.jquery.org/
New Releases

• jQuery 1.4.3
• Official Plugins:
 • jQuery Templating
 • jQuery Data Linking
• jQuery Mobile
jQuery 1.4.3

• JSLint
• Modularity
• CSS
• Traversal Performance
JSLint
• Tool written by Douglas Crockford
• Do some basic validity checks on JavaScript
• With more commits coming in, helps to
  enforce basic style guidelines
• Completely integrated into our
  development workflow: make lint
Modularity

• All jQuery modules can now be individually
  loaded.
• Could use a script loader to load each file
  separately.
• Allows us to avoid building jQuery to run
  the test suite.
CSS

• Massive rewrite of the CSS module.
• Focus on extensibility.
• (A bit of performance too!)
• Plugins already using it: jQuery Rotate
jQuery 1.4.3 .css() Get(Time in milliseconds - lower is better)
400




300




200




100




  0
      Firefox 3.6Firefox 4b7 Chrome    Safari 5 Opera 10.6         IE 6        IE 7   IE 8   IE 9b
                                 1.4.3                                 1.4.2
Traversal Performance
jQuery1.4.3 .closest()
                          (Time in milliseconds - lower is better)
4000




3000




2000




1000




   0
       Firefox 3.6   Firefox 4b7            Chrome                   Safari 5   IE 9b
                          1.4.3                                 1.4.2
jQuery1.4.3 .filter() Single
                          (Time in milliseconds - lower is better)
400




300




200




100




  0
       Firefox 3.6   Firefox 4b7            Chrome                   Safari 5   IE 9b
                          1.4.3                                 1.4.2
jQuery1.4.3 Elem .find()    (Time in milliseconds - lower is better)
3000




2250




1500




 750




   0
       Firefox 3.6   Firefox 4b7    Chrome            Safari 5       Opera 10.6   IE 8   IE 9b
                                   1.4.3                                 1.4.2
Data Linking
• Sync forms live with JavaScript objects.
• Dramatically simplify the process of
  extracting data from a form and updating it.
• Another plugin developed in conjunction
  with devs at Microsoft.
• http://github.com/jquery/jquery-datalink
Templating
• New official templating plugin.
• Provide a simple way of putting data into an
  HTML string.
• Developed in conjunction with devs at
  Microsoft.
• http://github.com/jquery/jquery-tmpl
jQuery Mobile
The Missing Gap
• Almost all mobile web development
  focuses on modern WebKit
• There are far too many other platforms
 • Blackberry, Opera, Windows Mobile,
    Mobile Firefox, Symbian, etc.
• jQuery Mobile works everywhere - and
  without sacrificing experience.
Phase 1: jQuery Core
• We’re working to make jQuery core work
  on all the popular mobile browsers.
• Building out our test suite and continuous
  integration testing.
• Using TestSwarm to automate our testing
  across all platforms.
• Fixing mobile bugs in core.
Phase 2: jQuery Mobile
• A complete framework for building mobile
  web sites and applications.
• Provide all the widgets and layout
  components necessary to build mobile
  sites.
• Built on the principles of progressive
  enhancement
Enjoy the Conference!

• Next: Learn more about jQuery Mobile!
• More information:
 • http://blog.jquery.com/ (jQuery 1.4.3)
 • http://jquerymobile.com/

jQuery Keynote - Fall 2010

  • 1.
    State of jQuery Fall 2010 John Resig
  • 2.
    State of theProject
  • 5.
  • 6.
    Spending Money • Allexpenditures are handled via public voting • What have we spent money on? • Team Meetings • Conferences • Audio/Video Equipment • Contract for Scott to do UI dev
  • 7.
    Spending Money • Whatwill we be spending money on? • Improving server infrastructure • Getting more developer time to train and mentor new developers • Design work and jQuery Mobile • More team meetings and conferences
  • 8.
    Governance Rules • We’rein the process of finalizing some formal governance rules for the project • This will set very clear guidelines on how finances can be used, votes held, and new members joining the project
  • 9.
    Path to Contribution •We’re actively working on a new set of public documents describing how to contribute • Also setting up dedicated teams to help review and mentor new developers • We want a constant, fresh, influx of new developers to the project!
  • 10.
    Legal • Working withthe Software Freedom Law Center • We’re in the final steps of transferring copyright of Packt’s ‘Learning jQuery 1.4’ to the project.
  • 11.
    CLAs • We’ve finalizeda CLA process for jQuery • We’re getting the full jQuery team to sign and all major contributors • The project will hold the rights to the code base and have certain patent assurances as well
  • 12.
    jQuery Store • We’restarting to sell jQuery t-shirts today on the new jQuery store: • http://store.jquery.org/
  • 13.
    New Releases • jQuery1.4.3 • Official Plugins: • jQuery Templating • jQuery Data Linking • jQuery Mobile
  • 14.
    jQuery 1.4.3 • JSLint •Modularity • CSS • Traversal Performance
  • 15.
    JSLint • Tool writtenby Douglas Crockford • Do some basic validity checks on JavaScript • With more commits coming in, helps to enforce basic style guidelines • Completely integrated into our development workflow: make lint
  • 16.
    Modularity • All jQuerymodules can now be individually loaded. • Could use a script loader to load each file separately. • Allows us to avoid building jQuery to run the test suite.
  • 17.
    CSS • Massive rewriteof the CSS module. • Focus on extensibility. • (A bit of performance too!) • Plugins already using it: jQuery Rotate
  • 19.
    jQuery 1.4.3 .css()Get(Time in milliseconds - lower is better) 400 300 200 100 0 Firefox 3.6Firefox 4b7 Chrome Safari 5 Opera 10.6 IE 6 IE 7 IE 8 IE 9b 1.4.3 1.4.2
  • 20.
  • 21.
    jQuery1.4.3 .closest() (Time in milliseconds - lower is better) 4000 3000 2000 1000 0 Firefox 3.6 Firefox 4b7 Chrome Safari 5 IE 9b 1.4.3 1.4.2
  • 22.
    jQuery1.4.3 .filter() Single (Time in milliseconds - lower is better) 400 300 200 100 0 Firefox 3.6 Firefox 4b7 Chrome Safari 5 IE 9b 1.4.3 1.4.2
  • 23.
    jQuery1.4.3 Elem .find() (Time in milliseconds - lower is better) 3000 2250 1500 750 0 Firefox 3.6 Firefox 4b7 Chrome Safari 5 Opera 10.6 IE 8 IE 9b 1.4.3 1.4.2
  • 24.
    Data Linking • Syncforms live with JavaScript objects. • Dramatically simplify the process of extracting data from a form and updating it. • Another plugin developed in conjunction with devs at Microsoft. • http://github.com/jquery/jquery-datalink
  • 27.
    Templating • New officialtemplating plugin. • Provide a simple way of putting data into an HTML string. • Developed in conjunction with devs at Microsoft. • http://github.com/jquery/jquery-tmpl
  • 30.
  • 31.
    The Missing Gap •Almost all mobile web development focuses on modern WebKit • There are far too many other platforms • Blackberry, Opera, Windows Mobile, Mobile Firefox, Symbian, etc. • jQuery Mobile works everywhere - and without sacrificing experience.
  • 34.
    Phase 1: jQueryCore • We’re working to make jQuery core work on all the popular mobile browsers. • Building out our test suite and continuous integration testing. • Using TestSwarm to automate our testing across all platforms. • Fixing mobile bugs in core.
  • 36.
    Phase 2: jQueryMobile • A complete framework for building mobile web sites and applications. • Provide all the widgets and layout components necessary to build mobile sites. • Built on the principles of progressive enhancement
  • 40.
    Enjoy the Conference! •Next: Learn more about jQuery Mobile! • More information: • http://blog.jquery.com/ (jQuery 1.4.3) • http://jquerymobile.com/