105
jQuery

jQuery State of the Union - Yehuda Katz

Embed Size (px)

DESCRIPTION

What's the state of the most popular JavaScript library today? What's in-store for upcoming releases? At an event hosted at Microsoft on November 9th, 2010, Yehuda Katz (a core member of the jQuery team) talked about updates planned for jQuery 1.4.3 and plans for jQuery 1.5, due next year. He also covers: - initiatives of the jQuery project - jQuery mobile - formalizing governance of the jQuery project ** See the video at: http://marakana.com/f/12312 ** Stay tuned for videos of these presentations from this event: - jQuery jump start (15 min. session to get you productive with the JavaScript frameworks) - jQuery with ASP.NET and Visual Studio Walk-through - How jQuery continues to drive innovation with emerging technologies In the meantime, check out more videos on open source development at: http://marakana.com/techtv

Citation preview

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?