SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
jQuery
Past, Present, and Future
       John Resig (ejohn.org)
Inspiration
✦   Simon Willison’s getElementsBySelector
✦   Dean Edwards’ cssQuery
✦   Dean Edwards’ addEvent
✦   Prototype
✦   Behavior
✦   moo.fx
The Beginning
✦   Started August of ’05
✦   http://ejohn.org/blog/selectors-in-javascript/

✦   $(’#foo ol li’)
     .set(’title’,’List Items!’)
     .bind(’click’,function(){alert(’Hello!’);})
     .select(’.tmp’)
        .style(’color’,’white’)
        .select(’.foo’)
          .style(’background’,’red’);
✦   jSelect!
First Implementation
✦   http://ejohn.org/apps/jselect/selector.js
✦   	

   $(document).bind(”ready”, init);

    	

   var rows = $(”#table tr:gt(0)”);
    	

   $(”#table th”).bind(”click”,function(){
    	

   	

  if ( removeClass( this, “asc” ) ) {
    	

   	

  	

   addClass( this, “desc” );
    	

   	

  	

   rows.reverse();
    	

   	

  } else {
    	

   	

  	

   removeClass( this, “desc” );
    	

   	

  	

   addClass( this, “asc” );
    	

   	

  	

   rows.sort( ofType(this).n );
    	

   	

  }
    	

   })
First Implementation
✦   	

   function sort(f) {
    	

   	

   cur = cur.sort(function(a,b){
    	

   	

   	

    if ( typeof f == ‘object’ )
    	

   	

   	

    	

     var ret = f(a,b);
    	

   	

   	

    else
    	

   	

   	

    	

     var ret = genericSort(a,b,f);
    	

   	

   	

    if ( a < b )
    	

   	

   	

    	

     b.parentNode.insertBefore( a, b );
    	

   	

   	

    else if ( a > b )
    	

   	

   	

    	

     a.parentNode.insertBefore( b, a );
    	

   	

   	

    return ret;
    	

   	

   });
    	

   	

   return this;
    	

   }
    	

   function reverse() {
    	

   	

   cur[0].parentNode.appendChild( cur[0] );
    	

   	

   for ( var i = 1; i < cur.length; i++ )
    	

   	

   	

    cur[i-1].parentNode.insertBefore( cur[i], cur[i-1] );
    	

   	

   cur = cur.reverse();
    	

   	

   return this;
            }
Expression Parsing
✦    var t = “[title]”;
    var re = new RegExp( “^[([a-z0-9-]+)(~?^?=?)’?([^’]*)’?]”, “i” );
    var m = re.exec(t);
    t = t.replace( re, “” );
    alert( t + “---” + m[1] + “---” + m[2] );
Release!
✦   Released at BarCamp NYC (Jan 2006)
✦   “New Wave JavaScript”
✦   Hit Digg and del.icio.us/popular
✦   CSS + XPath
✦   DOM Modification
✦   Events
✦   moo.fx-rewrite Animations
Download Builder
First Plugin	

✦   11 days later...
✦   JSON plugin
✦   “Unlike Prototype, jQuery doesn’t mess
    around with built-in JavaScript objects. It’s
    new—too new to have a version number!—
    but I’ve been writing some code with it
    and enjoying it.”
✦   http://mg.to/2006/01/25/json-for-jquery
Initial Choices
✦   The “$” war
    ✦ .style
    ✦ .onclick
    ✦ $(“id”) -> DOMElement
      DOMElement.onclick = jQuery method
✦   Creative Commons -> MIT
✦   No Ajax! -> Ajax!
“jQuery 2”
✦   May ‘06

✦    <script type=”text/jquery”>
      pre:
       css ‘background’ ‘#212121’
       css ‘color’ ‘#0F0’
       css ‘padding’ ‘10px’
       css ‘font-size’ ‘14px’
      body:
       prepend ‘<h1>jquery<sup>2</sup></h1>’
      input:first: click compile
      input:last: click run
     </script>
Early Events
✦   SVN (May ‘06) / Trac
✦   Drupal
✦   Thickbox (April ‘06)
✦   Version 1.0 (August ‘06)
Teenage jQuery
✦   jQuery Magazine
✦   “Why jQuery is better”
Later Events
✦   Plugins Repository
✦   Evangelism Team
Progress
✦   13 Releases (not including previews)
✦   4200 Mailing List Subscribers
✦   48% Developer Coverage (Ajaxian.com)
Who uses jQuery?
•   Digg              •   Miami Herald
•   Google            •   Food Network
•   NBC               •   REI
•   MSNBC             •   The Onion
•   Amazon            •   FeedBurner
•   Intel             •   PokerRoom
•   BBC               •   Warner Bros.
•   AOL               •   Def Jam
•   Oracle            •   Classmates
•   Cisco             •   Fandango
•   Newsweek          •   Pandora
•   Techonorati       •   isoHunt
•   Washington Post   •   Ask A Ninja
•   Sourceforge       •   Ars Technica
•   American Eagle    •   Linux.com
•   Salesforce        •   Joost
•   Newsgator         •   Barack Obama
•   Boston Globe      •   Nintendo
•   My YearBook       •   and more!
•   New York Post
jQuery: Now
✦   jQuery 1.2.1
✦   jQuery UI
jQuery UI
✦   First major new project since jQuery
✦   Important new direction for the project
✦   Huge boost to interest
Future
✦   jQuery Test Suite
✦   jQuery UI
✦   Internationalization
✦   Forums
Test Suite
✦   Distributed
    ✦ Run in any browser
    ✦ Submit results back to central server

✦   UI Testing
    ✦ Automation
    ✦ Manual user tests
jQuery UI
✦   Refine, improve
✦   Release new widgets
✦   More corporate support
Internationalization
✦   Individual language sites
✦   Dedicated documentation
Forums
✦   Mailing List just isn’t scaling
✦   Very frequent request
✦   Probably better suited to audience
Questions?
History of jQuery

Más contenido relacionado

La actualidad más candente

EYE-OCT.(OPTICAL COHERANCE TOMOGRAPHY)
EYE-OCT.(OPTICAL  COHERANCE TOMOGRAPHY)EYE-OCT.(OPTICAL  COHERANCE TOMOGRAPHY)
EYE-OCT.(OPTICAL COHERANCE TOMOGRAPHY)Sanjib Pashi
 
Effect of scleral buckle on geometry of eye.pptx
Effect of scleral buckle on geometry of eye.pptxEffect of scleral buckle on geometry of eye.pptx
Effect of scleral buckle on geometry of eye.pptxAbhijaat Chaturvedi
 
Corneal topography final
Corneal topography finalCorneal topography final
Corneal topography finalanjani kumar
 
Myopia classification ,prevalence , pathological myopia & its control strateg...
Myopia classification ,prevalence , pathological myopia & its control strateg...Myopia classification ,prevalence , pathological myopia & its control strateg...
Myopia classification ,prevalence , pathological myopia & its control strateg...YashuChaudhary5
 
Sirius CSO The other face of Pentacam
Sirius CSO The other face of PentacamSirius CSO The other face of Pentacam
Sirius CSO The other face of PentacamHesham Gharieb
 
Bullous Keratopathy 1.pptx
Bullous Keratopathy 1.pptxBullous Keratopathy 1.pptx
Bullous Keratopathy 1.pptxManoj Philip
 
Pellucid marginal degeneration
Pellucid marginal degenerationPellucid marginal degeneration
Pellucid marginal degenerationPushpraj Singh
 
Ratinoscopy calculation
Ratinoscopy calculationRatinoscopy calculation
Ratinoscopy calculationSujeet Kumar
 
Orbit Anatomy and Surgical Spaces
Orbit Anatomy and Surgical Spaces Orbit Anatomy and Surgical Spaces
Orbit Anatomy and Surgical Spaces Vikas Khatri
 
Andreea moraru pachychoroid spectrum of diseases
Andreea moraru   pachychoroid spectrum of diseasesAndreea moraru   pachychoroid spectrum of diseases
Andreea moraru pachychoroid spectrum of diseasesCiprianIonescu6
 
Keratoprothesis &amp; osteoodonto keraoprosthesis
Keratoprothesis &amp; osteoodonto keraoprosthesisKeratoprothesis &amp; osteoodonto keraoprosthesis
Keratoprothesis &amp; osteoodonto keraoprosthesisKishor Badhe
 
CORNEAL DYSTROPHIES AND ECTASIAS.pptx
CORNEAL DYSTROPHIES  AND ECTASIAS.pptxCORNEAL DYSTROPHIES  AND ECTASIAS.pptx
CORNEAL DYSTROPHIES AND ECTASIAS.pptxIddi Ndyabawe
 

La actualidad más candente (20)

EYE-OCT.(OPTICAL COHERANCE TOMOGRAPHY)
EYE-OCT.(OPTICAL  COHERANCE TOMOGRAPHY)EYE-OCT.(OPTICAL  COHERANCE TOMOGRAPHY)
EYE-OCT.(OPTICAL COHERANCE TOMOGRAPHY)
 
Effect of scleral buckle on geometry of eye.pptx
Effect of scleral buckle on geometry of eye.pptxEffect of scleral buckle on geometry of eye.pptx
Effect of scleral buckle on geometry of eye.pptx
 
Optics Ophthalmology
Optics Ophthalmology Optics Ophthalmology
Optics Ophthalmology
 
Keratoconus
KeratoconusKeratoconus
Keratoconus
 
Corneal topography final
Corneal topography finalCorneal topography final
Corneal topography final
 
Biometry for Cataract
Biometry for CataractBiometry for Cataract
Biometry for Cataract
 
Myopia classification ,prevalence , pathological myopia & its control strateg...
Myopia classification ,prevalence , pathological myopia & its control strateg...Myopia classification ,prevalence , pathological myopia & its control strateg...
Myopia classification ,prevalence , pathological myopia & its control strateg...
 
Sirius CSO The other face of Pentacam
Sirius CSO The other face of PentacamSirius CSO The other face of Pentacam
Sirius CSO The other face of Pentacam
 
Bullous Keratopathy 1.pptx
Bullous Keratopathy 1.pptxBullous Keratopathy 1.pptx
Bullous Keratopathy 1.pptx
 
Neovascular AMD
Neovascular AMDNeovascular AMD
Neovascular AMD
 
Corneal edema
Corneal edemaCorneal edema
Corneal edema
 
Ocularemerg
OcularemergOcularemerg
Ocularemerg
 
optic disc anomaly
 optic disc anomaly optic disc anomaly
optic disc anomaly
 
2016 Basic Motility Exam
2016 Basic Motility Exam2016 Basic Motility Exam
2016 Basic Motility Exam
 
Pellucid marginal degeneration
Pellucid marginal degenerationPellucid marginal degeneration
Pellucid marginal degeneration
 
Ratinoscopy calculation
Ratinoscopy calculationRatinoscopy calculation
Ratinoscopy calculation
 
Orbit Anatomy and Surgical Spaces
Orbit Anatomy and Surgical Spaces Orbit Anatomy and Surgical Spaces
Orbit Anatomy and Surgical Spaces
 
Andreea moraru pachychoroid spectrum of diseases
Andreea moraru   pachychoroid spectrum of diseasesAndreea moraru   pachychoroid spectrum of diseases
Andreea moraru pachychoroid spectrum of diseases
 
Keratoprothesis &amp; osteoodonto keraoprosthesis
Keratoprothesis &amp; osteoodonto keraoprosthesisKeratoprothesis &amp; osteoodonto keraoprosthesis
Keratoprothesis &amp; osteoodonto keraoprosthesis
 
CORNEAL DYSTROPHIES AND ECTASIAS.pptx
CORNEAL DYSTROPHIES  AND ECTASIAS.pptxCORNEAL DYSTROPHIES  AND ECTASIAS.pptx
CORNEAL DYSTROPHIES AND ECTASIAS.pptx
 

Destacado (19)

JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 
jQuery in 15 minutes
jQuery in 15 minutesjQuery in 15 minutes
jQuery in 15 minutes
 
Js ppt
Js pptJs ppt
Js ppt
 
J Query Presentation of David
J Query Presentation of DavidJ Query Presentation of David
J Query Presentation of David
 
2012 03 26 cd p audience internet_février
2012 03 26 cd p audience internet_février2012 03 26 cd p audience internet_février
2012 03 26 cd p audience internet_février
 
Dissecting facebook
Dissecting facebookDissecting facebook
Dissecting facebook
 
J query presentation
J query presentationJ query presentation
J query presentation
 
jQuery Intro
jQuery IntrojQuery Intro
jQuery Intro
 
jQuery Presentation
jQuery PresentationjQuery Presentation
jQuery Presentation
 
jQuery PPT
jQuery PPTjQuery PPT
jQuery PPT
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Learning jQuery in 30 minutes
Learning jQuery in 30 minutesLearning jQuery in 30 minutes
Learning jQuery in 30 minutes
 
Java script ppt
Java script pptJava script ppt
Java script ppt
 
Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Introduction to Html5
Introduction to Html5Introduction to Html5
Introduction to Html5
 
jQuery Essentials
jQuery EssentialsjQuery Essentials
jQuery Essentials
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
JavaScript Programming
JavaScript ProgrammingJavaScript Programming
JavaScript Programming
 

Similar a History of jQuery

jQuery Presentation to Rails Developers
jQuery Presentation to Rails DevelopersjQuery Presentation to Rails Developers
jQuery Presentation to Rails DevelopersYehuda Katz
 
JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)jeresig
 
Building a JavaScript Library
Building a JavaScript LibraryBuilding a JavaScript Library
Building a JavaScript Libraryjeresig
 
What's up with Prototype and script.aculo.us?
What's up with Prototype and script.aculo.us?What's up with Prototype and script.aculo.us?
What's up with Prototype and script.aculo.us?Christophe Porteneuve
 
jQuery (MeshU)
jQuery (MeshU)jQuery (MeshU)
jQuery (MeshU)jeresig
 
jQuery Internals + Cool Stuff
jQuery Internals + Cool StuffjQuery Internals + Cool Stuff
jQuery Internals + Cool Stuffjeresig
 
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jeresig
 
Performance Improvements In Browsers
Performance Improvements In BrowsersPerformance Improvements In Browsers
Performance Improvements In BrowsersGoogleTecTalks
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsersjeresig
 
jQuery (BostonPHP)
jQuery (BostonPHP)jQuery (BostonPHP)
jQuery (BostonPHP)jeresig
 
DOSUG Intro to JQuery JavaScript Framework
DOSUG Intro to JQuery JavaScript FrameworkDOSUG Intro to JQuery JavaScript Framework
DOSUG Intro to JQuery JavaScript FrameworkMatthew McCullough
 
Learning jQuery @ MIT
Learning jQuery @ MITLearning jQuery @ MIT
Learning jQuery @ MITjeresig
 
Tamarin And Ecmascript 4
Tamarin And Ecmascript 4Tamarin And Ecmascript 4
Tamarin And Ecmascript 4elliando dias
 
How to make Ajax Libraries work for you
How to make Ajax Libraries work for youHow to make Ajax Libraries work for you
How to make Ajax Libraries work for youSimon Willison
 
Tamarin and ECMAScript 4
Tamarin and ECMAScript 4Tamarin and ECMAScript 4
Tamarin and ECMAScript 4jeresig
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureSimon Willison
 
Performance, Games, and Distributed Testing in JavaScript
Performance, Games, and Distributed Testing in JavaScriptPerformance, Games, and Distributed Testing in JavaScript
Performance, Games, and Distributed Testing in JavaScriptjeresig
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryQConLondon2008
 
jQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjeresig
 

Similar a History of jQuery (20)

jQuery Presentation to Rails Developers
jQuery Presentation to Rails DevelopersjQuery Presentation to Rails Developers
jQuery Presentation to Rails Developers
 
JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)JavaScript 1.5 to 2.0 (TomTom)
JavaScript 1.5 to 2.0 (TomTom)
 
Building a JavaScript Library
Building a JavaScript LibraryBuilding a JavaScript Library
Building a JavaScript Library
 
What's up with Prototype and script.aculo.us?
What's up with Prototype and script.aculo.us?What's up with Prototype and script.aculo.us?
What's up with Prototype and script.aculo.us?
 
jQuery (MeshU)
jQuery (MeshU)jQuery (MeshU)
jQuery (MeshU)
 
jQuery Internals + Cool Stuff
jQuery Internals + Cool StuffjQuery Internals + Cool Stuff
jQuery Internals + Cool Stuff
 
jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)jQuery (DrupalCamp Toronto)
jQuery (DrupalCamp Toronto)
 
Performance Improvements In Browsers
Performance Improvements In BrowsersPerformance Improvements In Browsers
Performance Improvements In Browsers
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
 
jQuery (BostonPHP)
jQuery (BostonPHP)jQuery (BostonPHP)
jQuery (BostonPHP)
 
DOSUG Intro to JQuery JavaScript Framework
DOSUG Intro to JQuery JavaScript FrameworkDOSUG Intro to JQuery JavaScript Framework
DOSUG Intro to JQuery JavaScript Framework
 
Learning jQuery @ MIT
Learning jQuery @ MITLearning jQuery @ MIT
Learning jQuery @ MIT
 
Tamarin And Ecmascript 4
Tamarin And Ecmascript 4Tamarin And Ecmascript 4
Tamarin And Ecmascript 4
 
How to make Ajax Libraries work for you
How to make Ajax Libraries work for youHow to make Ajax Libraries work for you
How to make Ajax Libraries work for you
 
Tamarin and ECMAScript 4
Tamarin and ECMAScript 4Tamarin and ECMAScript 4
Tamarin and ECMAScript 4
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
 
Performance, Games, and Distributed Testing in JavaScript
Performance, Games, and Distributed Testing in JavaScriptPerformance, Games, and Distributed Testing in JavaScript
Performance, Games, and Distributed Testing in JavaScript
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J Query
 
Jslunch6
Jslunch6Jslunch6
Jslunch6
 
jQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UIjQuery 1.3 and jQuery UI
jQuery 1.3 and jQuery UI
 

Más de jeresig

Does Coding Every Day Matter?
Does Coding Every Day Matter?Does Coding Every Day Matter?
Does Coding Every Day Matter?jeresig
 
Accidentally Becoming a Digital Librarian
Accidentally Becoming a Digital LibrarianAccidentally Becoming a Digital Librarian
Accidentally Becoming a Digital Librarianjeresig
 
2014: John's Favorite Thing (Neo4j)
2014: John's Favorite Thing (Neo4j)2014: John's Favorite Thing (Neo4j)
2014: John's Favorite Thing (Neo4j)jeresig
 
Computer Vision as Art Historical Investigation
Computer Vision as Art Historical InvestigationComputer Vision as Art Historical Investigation
Computer Vision as Art Historical Investigationjeresig
 
Hacking Art History
Hacking Art HistoryHacking Art History
Hacking Art Historyjeresig
 
Using JS to teach JS at Khan Academy
Using JS to teach JS at Khan AcademyUsing JS to teach JS at Khan Academy
Using JS to teach JS at Khan Academyjeresig
 
Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art Historyjeresig
 
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
 

Más de jeresig (20)

Does Coding Every Day Matter?
Does Coding Every Day Matter?Does Coding Every Day Matter?
Does Coding Every Day Matter?
 
Accidentally Becoming a Digital Librarian
Accidentally Becoming a Digital LibrarianAccidentally Becoming a Digital Librarian
Accidentally Becoming a Digital Librarian
 
2014: John's Favorite Thing (Neo4j)
2014: John's Favorite Thing (Neo4j)2014: John's Favorite Thing (Neo4j)
2014: John's Favorite Thing (Neo4j)
 
Computer Vision as Art Historical Investigation
Computer Vision as Art Historical InvestigationComputer Vision as Art Historical Investigation
Computer Vision as Art Historical Investigation
 
Hacking Art History
Hacking Art HistoryHacking Art History
Hacking Art History
 
Using JS to teach JS at Khan Academy
Using JS to teach JS at Khan AcademyUsing JS to teach JS at Khan Academy
Using JS to teach JS at Khan Academy
 
Applying Computer Vision to Art History
Applying Computer Vision to Art HistoryApplying Computer Vision to Art History
Applying Computer Vision to Art History
 
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)
 

Último

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 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
 
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
 

Último (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 

History of jQuery

  • 1. jQuery Past, Present, and Future John Resig (ejohn.org)
  • 2. Inspiration ✦ Simon Willison’s getElementsBySelector ✦ Dean Edwards’ cssQuery ✦ Dean Edwards’ addEvent ✦ Prototype ✦ Behavior ✦ moo.fx
  • 3.
  • 4. The Beginning ✦ Started August of ’05 ✦ http://ejohn.org/blog/selectors-in-javascript/ ✦ $(’#foo ol li’) .set(’title’,’List Items!’) .bind(’click’,function(){alert(’Hello!’);}) .select(’.tmp’) .style(’color’,’white’) .select(’.foo’) .style(’background’,’red’); ✦ jSelect!
  • 5. First Implementation ✦ http://ejohn.org/apps/jselect/selector.js ✦ $(document).bind(”ready”, init); var rows = $(”#table tr:gt(0)”); $(”#table th”).bind(”click”,function(){ if ( removeClass( this, “asc” ) ) { addClass( this, “desc” ); rows.reverse(); } else { removeClass( this, “desc” ); addClass( this, “asc” ); rows.sort( ofType(this).n ); } })
  • 6. First Implementation ✦ function sort(f) { cur = cur.sort(function(a,b){ if ( typeof f == ‘object’ ) var ret = f(a,b); else var ret = genericSort(a,b,f); if ( a < b ) b.parentNode.insertBefore( a, b ); else if ( a > b ) a.parentNode.insertBefore( b, a ); return ret; }); return this; } function reverse() { cur[0].parentNode.appendChild( cur[0] ); for ( var i = 1; i < cur.length; i++ ) cur[i-1].parentNode.insertBefore( cur[i], cur[i-1] ); cur = cur.reverse(); return this; }
  • 7. Expression Parsing ✦ var t = “[title]”; var re = new RegExp( “^[([a-z0-9-]+)(~?^?=?)’?([^’]*)’?]”, “i” ); var m = re.exec(t); t = t.replace( re, “” ); alert( t + “---” + m[1] + “---” + m[2] );
  • 8. Release! ✦ Released at BarCamp NYC (Jan 2006) ✦ “New Wave JavaScript” ✦ Hit Digg and del.icio.us/popular ✦ CSS + XPath ✦ DOM Modification ✦ Events ✦ moo.fx-rewrite Animations
  • 9.
  • 11. First Plugin ✦ 11 days later... ✦ JSON plugin ✦ “Unlike Prototype, jQuery doesn’t mess around with built-in JavaScript objects. It’s new—too new to have a version number!— but I’ve been writing some code with it and enjoying it.” ✦ http://mg.to/2006/01/25/json-for-jquery
  • 12. Initial Choices ✦ The “$” war ✦ .style ✦ .onclick ✦ $(“id”) -> DOMElement DOMElement.onclick = jQuery method ✦ Creative Commons -> MIT ✦ No Ajax! -> Ajax!
  • 13. “jQuery 2” ✦ May ‘06 ✦ <script type=”text/jquery”> pre: css ‘background’ ‘#212121’ css ‘color’ ‘#0F0’ css ‘padding’ ‘10px’ css ‘font-size’ ‘14px’ body: prepend ‘<h1>jquery<sup>2</sup></h1>’ input:first: click compile input:last: click run </script>
  • 14. Early Events ✦ SVN (May ‘06) / Trac ✦ Drupal ✦ Thickbox (April ‘06) ✦ Version 1.0 (August ‘06)
  • 15. Teenage jQuery ✦ jQuery Magazine ✦ “Why jQuery is better”
  • 16. Later Events ✦ Plugins Repository ✦ Evangelism Team
  • 17. Progress ✦ 13 Releases (not including previews) ✦ 4200 Mailing List Subscribers ✦ 48% Developer Coverage (Ajaxian.com)
  • 18. Who uses jQuery? • Digg • Miami Herald • Google • Food Network • NBC • REI • MSNBC • The Onion • Amazon • FeedBurner • Intel • PokerRoom • BBC • Warner Bros. • AOL • Def Jam • Oracle • Classmates • Cisco • Fandango • Newsweek • Pandora • Techonorati • isoHunt • Washington Post • Ask A Ninja • Sourceforge • Ars Technica • American Eagle • Linux.com • Salesforce • Joost • Newsgator • Barack Obama • Boston Globe • Nintendo • My YearBook • and more! • New York Post
  • 19. jQuery: Now ✦ jQuery 1.2.1 ✦ jQuery UI
  • 20. jQuery UI ✦ First major new project since jQuery ✦ Important new direction for the project ✦ Huge boost to interest
  • 21. Future ✦ jQuery Test Suite ✦ jQuery UI ✦ Internationalization ✦ Forums
  • 22. Test Suite ✦ Distributed ✦ Run in any browser ✦ Submit results back to central server ✦ UI Testing ✦ Automation ✦ Manual user tests
  • 23. jQuery UI ✦ Refine, improve ✦ Release new widgets ✦ More corporate support
  • 24. Internationalization ✦ Individual language sites ✦ Dedicated documentation
  • 25. Forums ✦ Mailing List just isn’t scaling ✦ Very frequent request ✦ Probably better suited to audience