What jQuery is Doing on Standards

What jQuery is Doing on Standards

A few months ago, the jQuery Foundation announced its participation in the W3C and ECMA standards bodies. Why did we do this, and how are we doing?

In this talk, Yehuda will give a rough overview of the standardization process, some examples of ways that web developers have helped the process, and talk about how the jQuery project is making a difference.

428167a3ec72235ba971162924492609?s=128

Yehuda Katz

June 29, 2012
Tweet

Transcript

  1. 2.

    ▪ Why should I care? ▪ What is the process?

    ▪ Status and Success Stories EXPECTATIONS.
  2. 5.

    0% 15% 30% 45% 60% 75% 90% 2006 2007 2008

    2009 2010 2011 2012 IE6 IE7 IE8 IE9
  3. 6.
  4. 7.
  5. 8.
  6. 9.
  7. 10.

    2008 2009 2010 2011 2012 0% 10% 20% 30% 40%

    Firefox 2 Firefox 3 Firefox 3.5 Firefox 3.6 Firefox 5 Firefox 6 Firefox 11 Firefox 12 Firefox 13 Chrome 2 Chrome 3 Chrome 5 Chrome 6 Chrome 12 Chrome 13 Chrome 14 Chrome 18 Chrome 19
  8. 12.

    2009 0% 10% 20% 30% 40% Firefox 2 Firefox 3

    Firefox 3.5 Chrome 2 Chrome 3
  9. 13.

    2010 0% 10% 20% 30% 40% Firefox 3 Firefox 3.5

    Firefox 3.6 Chrome 5 Chrome 6
  10. 14.

    2011 0% 10% 20% 30% 40% Firefox 3.6 Firefox 5

    Firefox 6 Chrome 12 Chrome 13 Chrome 14
  11. 15.

    2012 0% 10% 20% 30% 40% Firefox 3.6 Firefox 11

    Firefox 12 Firefox 13 Chrome 18 Chrome 19
  12. 26.

    Working Draft (WD) Last Call (LC) Candidate Recommendation (CR) Proposed

    Edited Recommendation (PER) Proposed Recommendation (PR) Web Standard Selectors API 2, Shadow DOM, File API, DOM4, HTML5 Selectors 1, Flexbox, WebSockets, IndexedDB, CSS Paged Media Resource Timing, Battery Status, Web Workers, Web Storage XSLT Geolocation, URI Fragments Selectors 3, DOM3, HTML4, CSS 2.1, Media Queries
  13. 27.
  14. 28.

    Working Draft (WD) Last Call (LC) Candidate Recommendation (CR) Proposed

    Edited Recommendation (PER) Proposed Recommendation (PR) Web Standard Selectors API 2, Shadow DOM, File API, DOM4, HTML5 Selectors 1, Flexbox, WebSockets, IndexedDB, CSS Paged Media Resource Timing, Battery Status, Web Workers, Web Storage XSLT Geolocation, URI Fragments Selectors 3, DOM3, HTML4, CSS 2.1, Media Queries
  15. 29.

    Working Draft (WD) Last Call (LC) Candidate Recommendation (CR) Proposed

    Edited Recommendation (PER) Proposed Recommendation (PR) Web Standard Selectors API 2, Shadow DOM, File API, DOM4, HTML5 Selectors API 1, Flexbox, WebSockets, IndexedDB, Paged Media Resource Timing, Battery Status, Web Workers, Web Storage XSLT Geolocation, URI Fragments Selectors 3, DOM3, HTML4, CSS 2.1, Media Queries
  16. 30.

    Working Draft (WD) Last Call (LC) Candidate Recommendation (CR) Proposed

    Edited Recommendation (PER) Proposed Recommendation (PR) Web Standard Selectors API 2, Shadow DOM, File API, DOM4, HTML5 Selectors API 1, Flexbox, WebSockets, IndexedDB, Paged Media Resource Timing, Battery Status, Web Workers, Web Storage XSLT Geolocation, URI Fragments Selectors 3, DOM3, HTML4, CSS 2.1, Media Queries
  17. 39.

    <style> .parent { display: box; box-align: center; box-pack: center; width:

    300px; height: 300px; margin: 0; padding: 0; background-color: black; } .child { width: 100px; height: 100px; background-color: #ccc; } </style> <div class="parent"> <div class="child"></div> </div> FLEXBOX.
  18. 40.
  19. 44.
  20. 46.
  21. 49.
  22. 50.
  23. 51.

    ▪ <style scoped> and :scope uni cation ▪ Explicit use

    of :scope ▪ Naming ▪ .matchesSelector => .matches ▪ Semantics of .matches ▪ XPath (!?) ▪ Combinators (.find("> div")) ▪ Return type (Array, NodeList?) ISSUES.
  24. 52.
  25. 56.

    var isTD = /^\s*<td/, depth = 0; if (isTD.test(string)) {

    string = "<table><tr>" + string + "</tr></table>"; depth = 2; } // ... SOLUTION.
  26. 57.

    wrapMap = { option: [ 1, "<select multiple='multiple'>", "</select>" ],

    legend: [ 1, "<fieldset>", "</fieldset>" ], thead: [ 1, "<table>", "</table>" ], tr: [ 2, "<table><tbody>", "</tbody></table>" ], td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], area: [ 1, "<map>", "</map>" ], _default: [ 0, "", "" ] } JQUERY.
  27. 59.
  28. 61.

    WHY NOT US! "Standards committees should not be the ones

    who get to invent the future" Standards committees are not some weird, distant thing. They're us!
  29. 62.

    If I am not for myself, then who will be

    for me? And if I am only for myself, then what am I? And if not now, when? “
  30. 65.
  31. 66.