Transcript
Page 1: jQuery State of the Union - Yehuda Katz

jQuery

Page 2: jQuery State of the Union - Yehuda Katz

State of the Union

Page 3: jQuery State of the Union - Yehuda Katz

Usage

Page 4: jQuery State of the Union - Yehuda Katz

40%

20%30%

Page 5: jQuery State of the Union - Yehuda Katz

2009 2010(23 million) (116 million)

Page 6: jQuery State of the Union - Yehuda Katz

jQueryRailsAjax

Page 7: jQuery State of the Union - Yehuda Katz

jQueryRailsAjax

Growth

Page 8: jQuery State of the Union - Yehuda Katz
Page 9: jQuery State of the Union - Yehuda Katz

Governance

Page 10: jQuery State of the Union - Yehuda Katz
Page 11: jQuery State of the Union - Yehuda Katz

jQuery Governance Rules

Page 12: jQuery State of the Union - Yehuda Katz

All Outlays Require a

Vote

Page 13: jQuery State of the Union - Yehuda Katz

So far:Team Meetings

ConferencesAudio/VisualUI Developer

Page 14: jQuery State of the Union - Yehuda Katz

Future Outlays:Infrastructure

DevelopersjQuery MobileTeam Meetings

Conferences

Page 15: jQuery State of the Union - Yehuda Katz

Future Outlays?

Page 16: jQuery State of the Union - Yehuda Katz

Executive Board

Page 17: jQuery State of the Union - Yehuda Katz
Page 18: jQuery State of the Union - Yehuda Katz

Rey BangoYehuda KatzJohn Resig

Jonathan SharpLeah Silber

Ralph WhitbeckRichard D. Worth

Page 19: jQuery State of the Union - Yehuda Katz

Rey BangoYehuda KatzJohn Resig

Jonathan SharpLeah Silber

Ralph WhitbeckRichard D. Worth

Page 20: jQuery State of the Union - Yehuda Katz

Conflicts of Interest

Page 21: jQuery State of the Union - Yehuda Katz

Other Areas:Advance Approval

VotesMembership

Subteams

Page 22: jQuery State of the Union - Yehuda Katz

Path to Contribution

Page 23: jQuery State of the Union - Yehuda Katz

Subteams

Page 24: jQuery State of the Union - Yehuda Katz

Dev

Dev. RelationsEventsDocs

jQuery UI Infrastructure Design

Mobile

Page 25: jQuery State of the Union - Yehuda Katz

Clear Description

Page 26: jQuery State of the Union - Yehuda Katz

Mentoring New

Contributors

Page 27: jQuery State of the Union - Yehuda Katz

Contributor License

Agreement

Page 28: jQuery State of the Union - Yehuda Katz

Finalized

Page 29: jQuery State of the Union - Yehuda Katz
Page 30: jQuery State of the Union - Yehuda Katz

The jQuery project will

own the code

Page 31: jQuery State of the Union - Yehuda Katz

Ownership can be transferred

only to an entity agreeing with the same rules

Page 32: jQuery State of the Union - Yehuda Katz

jQuery will always be

Open Source

Page 33: jQuery State of the Union - Yehuda Katz

jQuery will always be

Open Source.

Page 34: jQuery State of the Union - Yehuda Katz

Adoption

Page 35: jQuery State of the Union - Yehuda Katz

Adobe

Page 36: jQuery State of the Union - Yehuda Katz

Adobe Hearts jQuery

Page 37: jQuery State of the Union - Yehuda Katz
Page 38: jQuery State of the Union - Yehuda Katz
Page 39: jQuery State of the Union - Yehuda Katz
Page 40: jQuery State of the Union - Yehuda Katz

“In short, we believe jQuery has become a nearly standard library of the web. In many ways, it is no longer just about one project but really belongs to the web as a whole.

Page 41: jQuery State of the Union - Yehuda Katz

Code

Page 42: jQuery State of the Union - Yehuda Katz

jQuery 1.4.3

Page 43: jQuery State of the Union - Yehuda Katz

JSLint

Page 44: jQuery State of the Union - Yehuda Katz

Enforce Style

Page 45: jQuery State of the Union - Yehuda Katz

$ make lint

Page 46: jQuery State of the Union - Yehuda Katz

Modularity

Page 47: jQuery State of the Union - Yehuda Katz

All jQuery can be individually

loaded

Page 48: jQuery State of the Union - Yehuda Katz

Script Loader?

Page 49: jQuery State of the Union - Yehuda Katz

Big win:

Test suite without a build step

Page 50: jQuery State of the Union - Yehuda Katz

CSS

Page 51: jQuery State of the Union - Yehuda Katz

Full rewrite of the CSS module

Page 52: jQuery State of the Union - Yehuda Katz

Purpose:

Extensibility

Page 53: jQuery State of the Union - Yehuda Katz

Purpose:

Extensibility(Performance)

Page 54: jQuery State of the Union - Yehuda Katz

jQuery.rotate

Page 55: jQuery State of the Union - Yehuda Katz

jQuery.cssHooks.rotate = { set: function( elem, value ) { var _support = support, supportTransform = _support.transform, cos, sin, centerOrigin; if (typeof value === 'string') { value = toRadian(value); } $.data( elem, 'transform', { rotate: value });

Page 56: jQuery State of the Union - Yehuda Katz
Page 57: jQuery State of the Union - Yehuda Katz

Native Performance

Where Possible

Page 58: jQuery State of the Union - Yehuda Katz
Page 59: jQuery State of the Union - Yehuda Katz
Page 60: jQuery State of the Union - Yehuda Katz
Page 61: jQuery State of the Union - Yehuda Katz

Official Plugins

Page 62: jQuery State of the Union - Yehuda Katz

datalink

Page 63: jQuery State of the Union - Yehuda Katz

Link forms live with JS

Objects

Page 64: jQuery State of the Union - Yehuda Katz

Developed with

Microsoft

Page 65: jQuery State of the Union - Yehuda Katz

var user = new User();

$("form").link(user, { firstName: "first-name", lastName: "last-name"})

Page 66: jQuery State of the Union - Yehuda Katz

var product = {};

$("#rank").link(product, { salesRank: { convertBack: function(val, source, target) { $(target).height(value * 2); } }});

$(product).data("salesRank", 12);alert($("#rank").height()); // 24

Page 67: jQuery State of the Union - Yehuda Katz

(general .data improvement)

Page 68: jQuery State of the Union - Yehuda Katz

jQuery Template

Page 69: jQuery State of the Union - Yehuda Katz

Also developed

with Microsoft

Page 70: jQuery State of the Union - Yehuda Katz

$("#test").append( "<li><em>${name}</em> (${year})</li>", data)

Page 71: jQuery State of the Union - Yehuda Katz

var data = { firstName: "Yehuda" };$("#item").tmpl(data).appendTo("ul");

<script id="item" type="text/html"> <li>${firstName}</li></script>

Page 72: jQuery State of the Union - Yehuda Katz

var lastItem = $("ul").tmplItem();var person = lastItem.data;var htmlNodes = lastItem.nodes;

Page 73: jQuery State of the Union - Yehuda Katz

Plugins: Focusing on

full apps

Page 74: jQuery State of the Union - Yehuda Katz

jQuery Mobile

Page 75: jQuery State of the Union - Yehuda Katz

Lots of platforms

Page 76: jQuery State of the Union - Yehuda Katz

// HANDLE: $("#id")} else { elem = document.getElementById( match[2] );

// Check parentNode to catch when Blackberry 4.6 returns // nodes that are no longer in the document #6963 if ( elem && elem.parentNode ) {

Page 77: jQuery State of the Union - Yehuda Katz

BlackberryOpera

Windows MobileMobile Firefox

Symbianetc.

Page 78: jQuery State of the Union - Yehuda Katz
Page 79: jQuery State of the Union - Yehuda Katz

Phase 1:jQuery Core

Page 80: jQuery State of the Union - Yehuda Katz

Fix bugs in all major

browsers

Page 81: jQuery State of the Union - Yehuda Katz

(A and B graded

browsers)

Page 82: jQuery State of the Union - Yehuda Katz
Page 83: jQuery State of the Union - Yehuda Katz

Phase 1 is a continuing

effort

Page 84: jQuery State of the Union - Yehuda Katz

Phase 2:jQuery Mobile

Page 85: jQuery State of the Union - Yehuda Katz

A framework for building mobile web

sites

Page 86: jQuery State of the Union - Yehuda Katz

Widgets+

Layout

Page 87: jQuery State of the Union - Yehuda Katz
Page 88: jQuery State of the Union - Yehuda Katz
Page 89: jQuery State of the Union - Yehuda Katz
Page 90: jQuery State of the Union - Yehuda Katz

jQuery 1.5

Page 91: jQuery State of the Union - Yehuda Katz

More Bugfixes

Page 92: jQuery State of the Union - Yehuda Katz

More Bugfixes(including

mobile)

Page 93: jQuery State of the Union - Yehuda Katz

Rewrite of .attr()

Page 94: jQuery State of the Union - Yehuda Katz

Rewrite of $.ajax()

Page 95: jQuery State of the Union - Yehuda Katz

jQuery.subclass

Page 96: jQuery State of the Union - Yehuda Katz

var myQuery = jQuery.subclass();

myQuery.fn.getId = function() { return this.id;}

Page 97: jQuery State of the Union - Yehuda Katz

jQuery("#foo").getId() // errormyQuery("#foo").getId() // "foo"

Page 98: jQuery State of the Union - Yehuda Katz
Page 99: jQuery State of the Union - Yehuda Katz
Page 100: jQuery State of the Union - Yehuda Katz

Personally

Page 101: jQuery State of the Union - Yehuda Katz

Porting SproutCore

improvements into jQuery Core

Page 102: jQuery State of the Union - Yehuda Katz

Plus official plugins

Page 103: jQuery State of the Union - Yehuda Katz

Basically:

HTML5 features

Page 104: jQuery State of the Union - Yehuda Katz

Thank you!

Page 105: jQuery State of the Union - Yehuda Katz

Questions?


Recommended