SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
State of jQuery
  Spring 2011
     John Resig
State of the Project
Project
Spending Money
• All expenditures are handled via public
  voting
• What have we spent money on?
 • Team Meetings
 • Conferences
 • Developer time
Sponsored Projects
• jQuery UI
 • Scott G
• jQuery Mobile
 • Filament Group
• jQuery UI Grid
 • Richard, Joern, and Scott
Spending Money

• What will we be spending money on?
 • Getting more developer time to train and
    mentor new developers
 • Design work and jQuery Mobile
 • More team meetings and conferences
New Team and Eboard
• Recently Joined:
 • Adam Sontag
   • Working with the UI and Bug Triage
      teams
 • Dan Heberden
  • Working with Infrastructure and Bug
      Triage team
jQuery Core
 and Bug Triage Teams
• We’ve added a number of new committers
  • Dave Methvin (dmethvin)
  • Julian Aubourg (jaubourg)
  • Anton Matzneller (jitter)
  • Timmy Willison (timwillison)
• We also got a ton of help from Colin Snover
  in organizing the team.
New Core
Development Process
• Weekly, public, team meetings
• Defined release dates and schedule
• Frequent discussion in #jquery-dev (IRC)
 • Active participation of the committers
    and the bug triage team
Weekly Meeting Notes
Bug Triage Team
• Responsible for processing all the bugs in
  the bug tracker
  • Make sure test cases are filed
• Work through pulls in the Github pull
  request queue
• Make sure the test suite is passing
Bugs
Roadmap Decisions

• Put up a public form for people to submit
  possible feature suggestions
• The team works through all the feature
  suggestions and creates a list
  • All of this is done in a publicly and
    discussed in a public meeting
Roadmap
New Releases

• jQuery 1.4.4, 1.5, 1.5.1, 1.5.2, and 1.6!
• Official Plugins Status
• jQuery Mobile Alphas 2, 3, and 4
jQuery 1.6b1


• Whole bunch of improvements
 • Rewrite of .attr()
.attr() Rewrite
•   Provide a full series of .attr() hooks
•   jQuery.attrHooks.selected = {
        set: function( elem, value ) {
           if ( value === false ) {
               jQuery.removeAttr(elem, “selected”);
               return value;
           }
       }
    };
.prop()

• Split apart attr/prop:
 • .attr(“selected”) -> “selected”
 • .prop(“selectedIndex”) -> 1
 • .prop(“selected”) -> true
.attr() Performance


• This rewrite also yields performance
  increases of around 85%!
valHooks
• Similar to cssHooks and valHooks but
  handles .val() as well
  • Inputs tend to have different support
    depending upon the platform
• Getting value is over 147% faster!
Better Support Tests
• Interesting technique:
 • document.createElement(“body”)
 • Do it before the DOM is ready!
 • You can do visual DOM tests before
    they’re displayed
 • Prevents flash of unstyled content
:focus Selector


• Make sure :focus works on all platforms:
  $(“input:focus”) -> Find the focused input
Faster Triggering and
         Data
• Triggering performance has been improved
  dramatically
  • Which increases the performance
    of .data() as a result!
• .data() is around 115% faster!
Convenient Methods
for Checking Elements
• .is( Element )
 • Simpler way to check equality
• .filter( Element )
 • Check if a set has an element
• .find( Element )
 • Equivalent to .contains()
Synced Animations

• Make it possible to ensure that animations
  run at the same time
  • Yielding animations that are less “glitchy”
• Animations are all run at the same timer
  cluster (timers tend to run every 15ms or
  so, depending upon the browser)
requestAnimationFrame
• New feature provided by the browser
• Makes it easier to create high
  performance, smoother, animations
$.map( Object )

• $.map( Array ) worked before
• Now $.map( Object ) can map properties
  to other values
• $.map({ test: 1 }, function( name, value ) {
    return value + 1;
  });
Use Function.prototype.bind


• Use the method for jQuery.proxy()
• Utilize the browsers native binding
  mechanism
  • Force the `this` of a function to be a
    particular object
Relative .css()

• Bringing the functionality back
  from .animate():
  • .css( “height”, “+=10” )
  • Updates the height relative to the
    current height
Official Plugins

• We’ve made a change in policy regarding
  official plugins
• Official plugins will be maintained by the
  jQuery team (UI, Core)
• Only plugins that fit into those teams will
  be supported
Existing Plugins

• Into the jQuery Core team:
 • Color, Mousewheel, Easing, CSS Hooks
• Into the jQuery UI team:
 • jQuery Templates
jQuery Mobile
Response
• Response has been overwhelmingly positive
• We’re getting support from major mobile
  browsers
 • RIM, Nokia, IE Mobile
• And major companies:
 • Microsoft, Adobe, Brightcove, BBC
Better Browser
         Support
• Firefox Mobile
• Opera Mobile and Mini
• Windows Phone 7
 • (and Internet Explorer itself!)
What’s Landed?
• Tons of bug fixes and enhancements
• Ajax form handling
• Unit Tests (!)
• Excellent keyboard and accessibility support
• Touch optimized datepicker
• Working great in PhoneGap
Rewrites


• Faster performance across the board
• All widgets using jQuery UI widget factory
Navigation Refactored
• Rewrite of core navigation model
 • Including using the new pushState!
• history.pushState(stateObj, "page 2",
  "bar.html");
• URL now becomes: /bar.html
• (but an actual page load isn’t done!)
Media Query Helpers
• New classes: .portrait, .landscape
• label.ui-input-text {
  	

 display: block;
  }
  .min-width-480px label.ui-input-text {
  	

 display: inline-block;
  }
Namespaced data-
• jQuery Mobile is predominantly configured
  through data- attributes
• <div data-role=”page”></div>
• You can now namespace the attributes, if
  you wish.
• <div data-jqm-role=”page”></div>
“Fast Click”
• It’s surprisingly hard to make click, and
  other mouse events, work as fast as
  possible
• There are a number of assumptions in
  place regarding touch events that make this
  hard.
• We now fix this straight in jQuery Mobile.
Mobile Beta

• jQuery Mobile Beta 1 is the next upcoming
  release!
• Even though it’s an alpha many people are
  already deploying applications that work
  great.
Enjoy the Conference!

• More information:
 • http://blog.jquery.com/ (jQuery 1.6b1)
 • http://jquerymobile.com/

Mais conteúdo relacionado

Mais de jeresig

NYARC 2014: Frick/Zeri Results
NYARC 2014: Frick/Zeri ResultsNYARC 2014: Frick/Zeri Results
NYARC 2014: Frick/Zeri Resultsjeresig
 
EmpireJS: Hacking Art with Node js and Image Analysis
EmpireJS: Hacking Art with Node js and Image AnalysisEmpireJS: Hacking Art with Node js and Image Analysis
EmpireJS: Hacking Art with Node js and Image Analysisjeresig
 
Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art Historyjeresig
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)jeresig
 
Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)jeresig
 
jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)jeresig
 
jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)jeresig
 
jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)jeresig
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobilejeresig
 
jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)jeresig
 
Holistic JavaScript Performance
Holistic JavaScript PerformanceHolistic JavaScript Performance
Holistic JavaScript Performancejeresig
 
New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)jeresig
 
Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)jeresig
 
Advanced jQuery (Ajax Exp 2007)
Advanced jQuery (Ajax Exp 2007)Advanced jQuery (Ajax Exp 2007)
Advanced jQuery (Ajax Exp 2007)jeresig
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)jeresig
 
Meta Programming with JavaScript
Meta Programming with JavaScriptMeta Programming with JavaScript
Meta Programming with JavaScriptjeresig
 
Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)jeresig
 
The Future of JavaScript (Ajax Exp '07)
The Future of JavaScript (Ajax Exp '07)The Future of JavaScript (Ajax Exp '07)
The Future of JavaScript (Ajax Exp '07)jeresig
 
State of jQuery and Drupal
State of jQuery and DrupalState of jQuery and Drupal
State of jQuery and Drupaljeresig
 
Khan Academy Computer Science
Khan Academy Computer ScienceKhan Academy Computer Science
Khan Academy Computer Sciencejeresig
 

Mais de jeresig (20)

NYARC 2014: Frick/Zeri Results
NYARC 2014: Frick/Zeri ResultsNYARC 2014: Frick/Zeri Results
NYARC 2014: Frick/Zeri Results
 
EmpireJS: Hacking Art with Node js and Image Analysis
EmpireJS: Hacking Art with Node js and Image AnalysisEmpireJS: Hacking Art with Node js and Image Analysis
EmpireJS: Hacking Art with Node js and Image Analysis
 
Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art History
 
JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)JavaScript Libraries (Ajax Exp 2006)
JavaScript Libraries (Ajax Exp 2006)
 
Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)Introduction to jQuery (Ajax Exp 2006)
Introduction to jQuery (Ajax Exp 2006)
 
jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)jQuery Recommendations to the W3C (2011)
jQuery Recommendations to the W3C (2011)
 
jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)jQuery Open Source Process (RIT 2011)
jQuery Open Source Process (RIT 2011)
 
jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)jQuery Open Source Process (Knight Foundation 2011)
jQuery Open Source Process (Knight Foundation 2011)
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)jQuery Open Source (Fronteer 2011)
jQuery Open Source (Fronteer 2011)
 
Holistic JavaScript Performance
Holistic JavaScript PerformanceHolistic JavaScript Performance
Holistic JavaScript Performance
 
New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)New Features Coming in Browsers (RIT '09)
New Features Coming in Browsers (RIT '09)
 
Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)Introduction to jQuery (Ajax Exp 2007)
Introduction to jQuery (Ajax Exp 2007)
 
Advanced jQuery (Ajax Exp 2007)
Advanced jQuery (Ajax Exp 2007)Advanced jQuery (Ajax Exp 2007)
Advanced jQuery (Ajax Exp 2007)
 
JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)JavaScript Library Overview (Ajax Exp West 2007)
JavaScript Library Overview (Ajax Exp West 2007)
 
Meta Programming with JavaScript
Meta Programming with JavaScriptMeta Programming with JavaScript
Meta Programming with JavaScript
 
Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)
 
The Future of JavaScript (Ajax Exp '07)
The Future of JavaScript (Ajax Exp '07)The Future of JavaScript (Ajax Exp '07)
The Future of JavaScript (Ajax Exp '07)
 
State of jQuery and Drupal
State of jQuery and DrupalState of jQuery and Drupal
State of jQuery and Drupal
 
Khan Academy Computer Science
Khan Academy Computer ScienceKhan Academy Computer Science
Khan Academy Computer Science
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

jQuery Keynote - Spring 2011

  • 1. State of jQuery Spring 2011 John Resig
  • 2. State of the Project
  • 3.
  • 4.
  • 6. Spending Money • All expenditures are handled via public voting • What have we spent money on? • Team Meetings • Conferences • Developer time
  • 7. Sponsored Projects • jQuery UI • Scott G • jQuery Mobile • Filament Group • jQuery UI Grid • Richard, Joern, and Scott
  • 8. Spending Money • What will we be spending money on? • Getting more developer time to train and mentor new developers • Design work and jQuery Mobile • More team meetings and conferences
  • 9. New Team and Eboard • Recently Joined: • Adam Sontag • Working with the UI and Bug Triage teams • Dan Heberden • Working with Infrastructure and Bug Triage team
  • 10. jQuery Core and Bug Triage Teams • We’ve added a number of new committers • Dave Methvin (dmethvin) • Julian Aubourg (jaubourg) • Anton Matzneller (jitter) • Timmy Willison (timwillison) • We also got a ton of help from Colin Snover in organizing the team.
  • 11. New Core Development Process • Weekly, public, team meetings • Defined release dates and schedule • Frequent discussion in #jquery-dev (IRC) • Active participation of the committers and the bug triage team
  • 13. Bug Triage Team • Responsible for processing all the bugs in the bug tracker • Make sure test cases are filed • Work through pulls in the Github pull request queue • Make sure the test suite is passing
  • 14. Bugs
  • 15. Roadmap Decisions • Put up a public form for people to submit possible feature suggestions • The team works through all the feature suggestions and creates a list • All of this is done in a publicly and discussed in a public meeting
  • 17. New Releases • jQuery 1.4.4, 1.5, 1.5.1, 1.5.2, and 1.6! • Official Plugins Status • jQuery Mobile Alphas 2, 3, and 4
  • 18. jQuery 1.6b1 • Whole bunch of improvements • Rewrite of .attr()
  • 19. .attr() Rewrite • Provide a full series of .attr() hooks • jQuery.attrHooks.selected = { set: function( elem, value ) { if ( value === false ) { jQuery.removeAttr(elem, “selected”); return value; } } };
  • 20. .prop() • Split apart attr/prop: • .attr(“selected”) -> “selected” • .prop(“selectedIndex”) -> 1 • .prop(“selected”) -> true
  • 21. .attr() Performance • This rewrite also yields performance increases of around 85%!
  • 22. valHooks • Similar to cssHooks and valHooks but handles .val() as well • Inputs tend to have different support depending upon the platform • Getting value is over 147% faster!
  • 23. Better Support Tests • Interesting technique: • document.createElement(“body”) • Do it before the DOM is ready! • You can do visual DOM tests before they’re displayed • Prevents flash of unstyled content
  • 24. :focus Selector • Make sure :focus works on all platforms: $(“input:focus”) -> Find the focused input
  • 25. Faster Triggering and Data • Triggering performance has been improved dramatically • Which increases the performance of .data() as a result! • .data() is around 115% faster!
  • 26. Convenient Methods for Checking Elements • .is( Element ) • Simpler way to check equality • .filter( Element ) • Check if a set has an element • .find( Element ) • Equivalent to .contains()
  • 27. Synced Animations • Make it possible to ensure that animations run at the same time • Yielding animations that are less “glitchy” • Animations are all run at the same timer cluster (timers tend to run every 15ms or so, depending upon the browser)
  • 28. requestAnimationFrame • New feature provided by the browser • Makes it easier to create high performance, smoother, animations
  • 29. $.map( Object ) • $.map( Array ) worked before • Now $.map( Object ) can map properties to other values • $.map({ test: 1 }, function( name, value ) { return value + 1; });
  • 30. Use Function.prototype.bind • Use the method for jQuery.proxy() • Utilize the browsers native binding mechanism • Force the `this` of a function to be a particular object
  • 31. Relative .css() • Bringing the functionality back from .animate(): • .css( “height”, “+=10” ) • Updates the height relative to the current height
  • 32. Official Plugins • We’ve made a change in policy regarding official plugins • Official plugins will be maintained by the jQuery team (UI, Core) • Only plugins that fit into those teams will be supported
  • 33. Existing Plugins • Into the jQuery Core team: • Color, Mousewheel, Easing, CSS Hooks • Into the jQuery UI team: • jQuery Templates
  • 35. Response • Response has been overwhelmingly positive • We’re getting support from major mobile browsers • RIM, Nokia, IE Mobile • And major companies: • Microsoft, Adobe, Brightcove, BBC
  • 36.
  • 37.
  • 38. Better Browser Support • Firefox Mobile • Opera Mobile and Mini • Windows Phone 7 • (and Internet Explorer itself!)
  • 39. What’s Landed? • Tons of bug fixes and enhancements • Ajax form handling • Unit Tests (!) • Excellent keyboard and accessibility support • Touch optimized datepicker • Working great in PhoneGap
  • 40. Rewrites • Faster performance across the board • All widgets using jQuery UI widget factory
  • 41. Navigation Refactored • Rewrite of core navigation model • Including using the new pushState! • history.pushState(stateObj, "page 2", "bar.html"); • URL now becomes: /bar.html • (but an actual page load isn’t done!)
  • 42. Media Query Helpers • New classes: .portrait, .landscape • label.ui-input-text { display: block; } .min-width-480px label.ui-input-text { display: inline-block; }
  • 43. Namespaced data- • jQuery Mobile is predominantly configured through data- attributes • <div data-role=”page”></div> • You can now namespace the attributes, if you wish. • <div data-jqm-role=”page”></div>
  • 44. “Fast Click” • It’s surprisingly hard to make click, and other mouse events, work as fast as possible • There are a number of assumptions in place regarding touch events that make this hard. • We now fix this straight in jQuery Mobile.
  • 45. Mobile Beta • jQuery Mobile Beta 1 is the next upcoming release! • Even though it’s an alpha many people are already deploying applications that work great.
  • 46. Enjoy the Conference! • More information: • http://blog.jquery.com/ (jQuery 1.6b1) • http://jquerymobile.com/