SlideShare a Scribd company logo
The State of jQuery
Dave Methvin
President, jQuery Foundation
June, 2013
Good Morning!
• Created in March 2012
• Coordinates jQuery team work
o Code
o Documentation
o Infrastructure
o Events
The jQuery Foundation
• A non-profit organization
• Funded by
o Conferences
o Donations
o Memberships
o YOU or your company can be a member
 http://jquery.org/join
The jQuery Foundation Is...
jQuery Foundation - Founding Members
jQuery Foundation Gold Members
• http://github.com/jquery
• jQuery Core, UI, Mobile
• Sizzle selector engine
• QUnit unit test framework
• jQuery Migrate plugin
• TestSwarm CI testing
• Documentation sites
jQuery Foundation Projects
• jQuery 1.x vs. 2.x
o jQuery 1.x still supports IE 6/7/8
o jQuery 2.x supports modern browsers
o The two versions stay in API sync
o Both are maintained by the team
• Heavily publicized changes in 2012
• Several public betas
The jQuery Core Plan
• Released jQuery 1.9 in January
• Released jQuery 2.0 in April
All good? Great!
• Released jQuery 1.9 in January
• Released jQuery 2.0 in April
All good? Great!
Far too many people
are using "latest"
versions in live sites!
NEVER HOTLINK:
http://code.jquery.com/jquery-latest.js
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js
What We Learned (the Hard
Way)
jQuery 1.9: Users Loved It!
• Identifies things your code is doing that
jQuery 1.9+ don't support anymore
• Actually makes older code work
• Lets you use jQuery 1.9+ with code that
hasn't been upgraded yet
jQuery Migrate Plugin
jQuery Migrate Example
• Shown in the uncompressed version
• Problem and solutions documented
jQuery Migrate Warnings
How Do I Fix This?
Include the minified version of the plugin
and no warnings appear
Shut-Up-and-Fix-It Mode
• Removed $.browser
• Removed .live()
What We Broke Fixed, and Why
• Usually not the best inference
• Often assumes future browsers and
versions will be broken the same way
• Horribly misused and misunderstood
Why $.browser Deserves To Go
Opera has announced their future
products will be based on the WebKit
engine, not their own Presto engine.
Browser Name is Only a BRAND
• IE can emulate older versions via<meta
name="X-UA-Compatible">
• IE11 betas don't even have "MSIE" in their
user agent string!
Internet Explorer's Disguises
The Enemy!
• It's like global variables, but for events
• Every event that occurs must bubble to
document before it can be processed
• Processing events can be expensive,
especially on deep documents
• Still easy to process events globally:
o $(document).on("click", "a", linkyClicky);
What's Wrong With .live()?
• Doesn't work well on iPhone/iPad!
• iOS doesn't bubble touch events all the
way to document
• Delegated touch events must be
processed below the <body> element
Letting all events bubble to document
destroys the usefulness of the event
propagation model
What's Wrong With .live()?
Original line:
$(".dialog .close").live("click", ...
Direct replacement (poor):
$(document).on("click", ".dialog .close" ...
Optimized replacement:
$(".dialog").on("click", ".close", ...
Optimize Your Selectors
The Bug:
• Before 1.9, $.parseJSON("") returned
null but it's not valid JSON
The Fix:
• In 1.9, $.parseJSON("") is an error
Fixing bugs is dangerous
business
• We called invalid JSON invalid.
• We're also out of coffee.
The Result: PANIC
In jQuery, every change is
a breaking change for
some poor developer.
The Moral of the Story
• Several modules can be excluded
• Bare-bones selector engine option
o Basically, just querySelectorAll
• How small?
o Normal build: 28KB
o Tiniest build: 14KB
• Smaller builds to come
o Option to exclude more code
o Finer granularity
Custom builds for smaller size
jQuery 1.10
jQuery 1.10
• Relatively minor changes from 1.9
• Brings 1.x into alignment with 2.x line
• Simplifies cross-version comparisons
o 1.10 --> 2.0
o 1.11 --> 2.1
o 1.12 --> 2.2
• Patch versions not always the same
o e.g. 1.10.1 and 2.0.2
jQuery 1.10
• The jQuery team supports both 1.x and
2.x; there isn't a problem of using an
"unsupported version"
• Since 1.x/2.x APIs are the same, there is
no problem in using 1.x exclusively on a
public web site -- it's recommended
Which version to use?
• Chrome or Firefox plugins
• node.js apps (jsdom, Cheerio)
• Windows 8 Store ("Modern/Metro") apps
• PhoneGap (iPhone/Android/BlackBerry)
• Apps using UIWebKit or WebBrowser
jQuery 2.0 is a good fit for
• Perhaps sooner than you think
When can jQuery 1.x die?
Chrome/Firefox updates quickly
IE not so much
IE not so much, but there's hope
XP
EcmaScript 5 is was the 2.0 baseline
Old Android browsers, ugh
:-(
(-:
Old WebKit is the New Old IE
Twitter: @davemethvin
GitHub: @dmethvin
IRC (Freenode): DaveMethvin #jquery-dev
Email: dave@jquery.com
Questions?

More Related Content

What's hot

Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
Ashlimarie
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
Nicholas Zakas
 
jQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and FuturejQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and Future
Richard Worth
 
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
David Kaneda
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
 
New Perspectives on Performance
New Perspectives on PerformanceNew Perspectives on Performance
New Perspectives on Performance
mennovanslooten
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
Marc Grabanski
 
jQuery Conference Toronto
jQuery Conference TorontojQuery Conference Toronto
jQuery Conference Toronto
dmethvin
 
The Art of AngularJS in 2015
The Art of AngularJS in 2015The Art of AngularJS in 2015
The Art of AngularJS in 2015
Matt Raible
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dee Sadler
 
JsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery TemplatesJsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery Templates
BorisMoore
 
Harness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkHarness jQuery Templates and Data Link
Harness jQuery Templates and Data Link
BorisMoore
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
Mark Roden
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with Ionic
Morris Singer
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Deepu S Nath
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
Chris Love
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
Vitaly Friedman
 
Flexible UI Components for a Multi-Framework World
Flexible UI Components for a Multi-Framework WorldFlexible UI Components for a Multi-Framework World
Flexible UI Components for a Multi-Framework World
Kevin Ball
 
Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
Chris Love
 

What's hot (20)

Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
jQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and FuturejQuery 1.9 and 2.0 - Present and Future
jQuery 1.9 and 2.0 - Present and Future
 
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
How to Develop a Rich, Native-quality User Experience for Mobile Using Web St...
 
[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web Design
 
New Perspectives on Performance
New Perspectives on PerformanceNew Perspectives on Performance
New Perspectives on Performance
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
 
jQuery Conference Toronto
jQuery Conference TorontojQuery Conference Toronto
jQuery Conference Toronto
 
The Art of AngularJS in 2015
The Art of AngularJS in 2015The Art of AngularJS in 2015
The Art of AngularJS in 2015
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
JsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery TemplatesJsViews - Next Generation jQuery Templates
JsViews - Next Generation jQuery Templates
 
Harness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkHarness jQuery Templates and Data Link
Harness jQuery Templates and Data Link
 
jQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPagesjQuery - the world's most popular java script library comes to XPages
jQuery - the world's most popular java script library comes to XPages
 
Building Mobile Applications with Ionic
Building Mobile Applications with IonicBuilding Mobile Applications with Ionic
Building Mobile Applications with Ionic
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
Flexible UI Components for a Multi-Framework World
Flexible UI Components for a Multi-Framework WorldFlexible UI Components for a Multi-Framework World
Flexible UI Components for a Multi-Framework World
 
Develop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will loveDevelop a vanilla.js spa you and your customers will love
Develop a vanilla.js spa you and your customers will love
 

Similar to State of jQuery June 2013 - Portland

jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
dmethvin
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
dmethvin
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
dmethvin
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
tutorialsruby
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
tutorialsruby
 
jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013
dmethvin
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
WO Community
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
Teamstudio
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
Jia Mi
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
mfrancis
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
Basarat Syed
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
Jesse Warden
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer
Sarah Dutkiewicz
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
Vishal Mittal
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
Paul Jensen
 
Project Timbit
Project TimbitProject Timbit
Project Timbit
Edward de Groot
 
Desktop Intro
Desktop IntroDesktop Intro
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
Hyun-woo Park
 

Similar to State of jQuery June 2013 - Portland (20)

jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013jQueryTO: State of jQuery March 2013
jQueryTO: State of jQuery March 2013
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
 
tut0000021-hevery
tut0000021-heverytut0000021-hevery
tut0000021-hevery
 
jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer
 
MOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITEMOBILE QUESTIONS & ANSWER WEBSITE
MOBILE QUESTIONS & ANSWER WEBSITE
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
Project Timbit
Project TimbitProject Timbit
Project Timbit
 
Desktop Intro
Desktop IntroDesktop Intro
Desktop Intro
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY (English)
 

State of jQuery June 2013 - Portland

  • 1. The State of jQuery Dave Methvin President, jQuery Foundation June, 2013
  • 3.
  • 4. • Created in March 2012 • Coordinates jQuery team work o Code o Documentation o Infrastructure o Events The jQuery Foundation
  • 5. • A non-profit organization • Funded by o Conferences o Donations o Memberships o YOU or your company can be a member  http://jquery.org/join The jQuery Foundation Is...
  • 6. jQuery Foundation - Founding Members
  • 8. • http://github.com/jquery • jQuery Core, UI, Mobile • Sizzle selector engine • QUnit unit test framework • jQuery Migrate plugin • TestSwarm CI testing • Documentation sites jQuery Foundation Projects
  • 9. • jQuery 1.x vs. 2.x o jQuery 1.x still supports IE 6/7/8 o jQuery 2.x supports modern browsers o The two versions stay in API sync o Both are maintained by the team • Heavily publicized changes in 2012 • Several public betas The jQuery Core Plan
  • 10. • Released jQuery 1.9 in January • Released jQuery 2.0 in April All good? Great!
  • 11. • Released jQuery 1.9 in January • Released jQuery 2.0 in April All good? Great!
  • 12. Far too many people are using "latest" versions in live sites! NEVER HOTLINK: http://code.jquery.com/jquery-latest.js http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js What We Learned (the Hard Way)
  • 13. jQuery 1.9: Users Loved It!
  • 14. • Identifies things your code is doing that jQuery 1.9+ don't support anymore • Actually makes older code work • Lets you use jQuery 1.9+ with code that hasn't been upgraded yet jQuery Migrate Plugin
  • 16. • Shown in the uncompressed version • Problem and solutions documented jQuery Migrate Warnings
  • 17. How Do I Fix This?
  • 18. Include the minified version of the plugin and no warnings appear Shut-Up-and-Fix-It Mode
  • 19. • Removed $.browser • Removed .live() What We Broke Fixed, and Why
  • 20. • Usually not the best inference • Often assumes future browsers and versions will be broken the same way • Horribly misused and misunderstood Why $.browser Deserves To Go
  • 21. Opera has announced their future products will be based on the WebKit engine, not their own Presto engine. Browser Name is Only a BRAND
  • 22. • IE can emulate older versions via<meta name="X-UA-Compatible"> • IE11 betas don't even have "MSIE" in their user agent string! Internet Explorer's Disguises The Enemy!
  • 23. • It's like global variables, but for events • Every event that occurs must bubble to document before it can be processed • Processing events can be expensive, especially on deep documents • Still easy to process events globally: o $(document).on("click", "a", linkyClicky); What's Wrong With .live()?
  • 24. • Doesn't work well on iPhone/iPad! • iOS doesn't bubble touch events all the way to document • Delegated touch events must be processed below the <body> element Letting all events bubble to document destroys the usefulness of the event propagation model What's Wrong With .live()?
  • 25. Original line: $(".dialog .close").live("click", ... Direct replacement (poor): $(document).on("click", ".dialog .close" ... Optimized replacement: $(".dialog").on("click", ".close", ... Optimize Your Selectors
  • 26. The Bug: • Before 1.9, $.parseJSON("") returned null but it's not valid JSON The Fix: • In 1.9, $.parseJSON("") is an error Fixing bugs is dangerous business
  • 27. • We called invalid JSON invalid. • We're also out of coffee. The Result: PANIC
  • 28. In jQuery, every change is a breaking change for some poor developer. The Moral of the Story
  • 29. • Several modules can be excluded • Bare-bones selector engine option o Basically, just querySelectorAll • How small? o Normal build: 28KB o Tiniest build: 14KB • Smaller builds to come o Option to exclude more code o Finer granularity Custom builds for smaller size
  • 32. • Relatively minor changes from 1.9 • Brings 1.x into alignment with 2.x line • Simplifies cross-version comparisons o 1.10 --> 2.0 o 1.11 --> 2.1 o 1.12 --> 2.2 • Patch versions not always the same o e.g. 1.10.1 and 2.0.2 jQuery 1.10
  • 33. • The jQuery team supports both 1.x and 2.x; there isn't a problem of using an "unsupported version" • Since 1.x/2.x APIs are the same, there is no problem in using 1.x exclusively on a public web site -- it's recommended Which version to use?
  • 34. • Chrome or Firefox plugins • node.js apps (jsdom, Cheerio) • Windows 8 Store ("Modern/Metro") apps • PhoneGap (iPhone/Android/BlackBerry) • Apps using UIWebKit or WebBrowser jQuery 2.0 is a good fit for
  • 35. • Perhaps sooner than you think When can jQuery 1.x die?
  • 37. IE not so much
  • 38. IE not so much, but there's hope XP
  • 39. EcmaScript 5 is was the 2.0 baseline Old Android browsers, ugh :-( (-:
  • 40. Old WebKit is the New Old IE
  • 41. Twitter: @davemethvin GitHub: @dmethvin IRC (Freenode): DaveMethvin #jquery-dev Email: dave@jquery.com Questions?