Upgrade to Pro — share decks privately, control downloads, hide ads and more …

State of jQuery - jQuery Conference 2012 UK

Ralph Whitbeck
February 10, 2012

State of jQuery - jQuery Conference 2012 UK

In this talk you will learn how the jQuery project is structured, from the jQuery Board to our membership in the Software Freedom Conservancy. We’ll cover the state of jQuery Core, jQuery UI and jQuery Mobile and get a glimpse of what might be coming in the near future. We’ll also look at some of the other projects that are being worked on by the jQuery team.

Ralph Whitbeck

February 10, 2012
Tweet

More Decks by Ralph Whitbeck

Other Decks in Technology

Transcript

  1. Ralph Whitbeck JQUERY PULLS AHEAD • February 2012 • Of

    the top 17,000 • jQuery is on 54% • Flash still stalled at 47%
  2. Ralph Whitbeck COMMUNITY • Users of jQuery • Submit bug

    reports • Fix bugs • Educate others
  3. Ralph Whitbeck TEAM • Contributors recognized by rest of team

    • Constant/Consistent commitment • Any part of the project
  4. Ralph Whitbeck SUB TEAMS • Core • UI • Mobile

    • Infrastructure • Developer Relations • Web/Design • Events
  5. Ralph Whitbeck BOARD • Members are elected • Leads Subteams

    • Creates governance policies • Approves expenditures
  6. Ralph Whitbeck TRANSPARENCY • Decisions made in public • http://groups.google.com/group/jquery-board-public

    • Status updates in public • http://jquery.org/updates • Project meetings in public • http://jquery.org/meeting/
  7. Ralph Whitbeck SFC • Member project since Sept '09 •

    501(3)(c) • Fiscal Sponsor • Holds jQuery’s trademarks • Provide free law services
  8. Ralph Whitbeck ORGANIZATIONALLY • Outgrowing SFC • Form our own

    Organization • 501(3)(c) or 501(c)(6) • Many complexities in transition
  9. Ralph Whitbeck JQUERY RELEASES • In the last year: •

    10 releases • 3 major, 7 minor • 1.5 • 1.6 • 1.7
  10. Ralph Whitbeck JQUERY 1.5 - AJAX • Enhanced extensibility with

    prefilters, converters, and transports • Ajax methods return a jqXHR object • jqXHR has a promise interface which is an implementation of deferreds.
  11. Ralph Whitbeck JQUERY 1.5 - DEFERREDS //Generic  interface  for  working

     with  async  behavior $.when(  somethingHappens()  ) .then(  function  ()  {      doSomethingElse(); }); //Based  on  CommonJS  Promises/A  spec  (not  100%)
  12. Ralph Whitbeck JQUERY 1.6 - .ATTR() REWRITE • Performance improvements

    • jQuery was too magical caused too many edge cases. • .attr and .removeAttr for attributes • .prop and .removeProp for properties
  13. Ralph Whitbeck JQUERY 1.6 - RELATIVE CSS //Before: var  sbwidth

     =  parseInt(  $("#sidebar").css("width"),  10); $("#sidebar").css("width",  (sbwidth  +  100)  +  "px"); //Now: $("#sidebar").css("width",  "+=100px");
  14. Ralph Whitbeck JQUERY 1.6 $.MAP() ENHANCEMENT //In  jQuery  1.6,  it

     is  now  possible  to  use  jQuery.map()  to  map  objects   into  a  new  array  of  items.  Previously,  this  only  took  in  other  arrays. names  =  {  firstname:  "Elijah",  lastname:  "Mannor",  age:  "OLD"};                   names  =  jQuery.map(names,  function(v)  {        return  v.toLowerCase(); });   //  returns:  ["elijah",  "manor",  "old"]
  15. Ralph Whitbeck JQUERY 1.6 - OTHER NOTABLES • Effects Improvements

    - Animations now implement Deferreds • Support added for requestAnimationFrame (pulled in 1.6.3 due to bad results) • New Deferred Methods - always
  16. Ralph Whitbeck JQUERY 1.7 - EVENT IMPROVEMENTS • New .on

    and .off methods unify .bind, .delegate, and .live • 50% performance improvements of delegated events • Old API's aren't deprecated. Just "shortcuts" to .on and .off
  17. Ralph Whitbeck JQUERY 1.7 //  Emulates  1.6  .bind //  Attaches

     a  handler  directly  to  all  .foo  currently  on  the  page  when   code  is  executed $(".foo").on("click",  function(e)  {});
  18. Ralph Whitbeck //  Emulates  1.6  .delegate //  Attaches  a  handler

     to  all  '.foo'  currently  on  page  that  will   trigger  when  a  '.bar'  inside  one  is  clicked $(".foo").on("click",  ".bar",  function(e)  {});
  19. Ralph Whitbeck JQUERY 1.7 //  Emulates  1.6  live //  Attaches

     a  handler  to  the  document  that  will  trigger  when  a  '.bar'   anywhere  in  the  document  is  clicked $(document).on("click",  ".bar",  function(e)  {});
  20. Ralph Whitbeck JQUERY 1.7 - HTML5 SUPPORT //Full  support  for

     HTML5  selectors  -­‐  even  IE6! //Still  need  a  HTML5  Shim  or  Modernizr  for  static  HTML5  Tag  rendering. $("header").hide();
  21. Ralph Whitbeck JQUERY 1.7 • AMD support • You can

    use a AMD loader like RequireJS to load jQuery dynamically.
  22. Ralph Whitbeck JQUERY 1.8 AND BEYOND • Focus on cleaning

    code and slimming down the file size • Not expecting new API's for 1.8 • Exploring ways to break IE6/7 functionality into a compatibility plugin. • NOTHING IS PLANNED!
  23. Ralph Whitbeck JQUERY UI • 8 Maintenance releases for 1.8

    • Current version is 1.8.17 • Focusing on code clean up and future maintainability • Closing bugs backlog
  24. Ralph Whitbeck JQUERY UI GRID • Roadmap for 2.1 •

    New Widgets/Utilities being developed: • Selectmenu • masked input • Inline editing • Timepicker • Menubar • $.observable • Globalize
  25. Ralph Whitbeck JQUERY MOBILE • Recently released 1.0 version •

    Support for many devices • New themeroller • Todd Parker will tell us more in a few.
  26. Ralph Whitbeck OTHER PROJECTS • Infrastructure overhaul • Site refresh

    • New Plugin Site (w/ backups!!!) • Learn Site
  27. Ralph Whitbeck SPECIAL THANKS • Content • Dave Methvin •

    Adam Sontag • State of jQuery 2011 (from jQuery Summit) • Design • Doug Neiner • “Magical Doug”