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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
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
 

Ú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...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 

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/