SlideShare a Scribd company logo
javascript libraries:  jQuery and Prototype
jQuery:  Introduction "jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for  rapid web development ." jquery.com  
jQuery:  A little less information "The Write Less,  Do More , Javascript Library" jquery.com    Lightweight Footprint CSS3 Compliant Cross-Browser Compliant
jQuery:  A business approach Open License     jQuery is currently available for use in all personal or commercial projects under both MIT and GPL licenses. This means that you can choose the license that best suits your project, and use it accordingly.    Ongoing Refinement   jQuery has 5 core teams that  Development Team Evangelist Team jQuery UI Team Plugins Team Web and Design Team   jQuery has an additional unofficial team The web community jQuery extension authors 3rd party contributors  You!
jQuery:  Show me the  money $ The dollar sign   ($)   is  your first step in talking to jQuery   The basics:   CSS selectors            $ ( ".className" ); DOM selectors           $ ( "a" ); classes, methods       $ . fn ();
jQuery:  Where the  action  is $ (). action () $(). action ()   is  how you perform your action on all of your items   *note:  actions  are stackable   *note:  actions  accept arguments and callbacks  Example:   simple fade in                                      $ ( "a" ). fadeIn (); hide, then fade in all anchor tags        $ ( "a" ). hide (). fadeIn (); fade in all anchor tags w/ callback      $ ( "a" ). fadeIn ( 'slow' ,  function (){});
jQuery:  Moving pictures $ (). animate () $(). animate () ;   the key aspect of this function is the object of style properties that will be animated, and to what end.  Animation: Animated effects can be controlled further and customized using jQuery's  $ (). animate ();  method // fade in: same as   $ (). fadeIn ();           $ ( "a" ). animate (      {          "opacity" :1      },      {          "duration" :500      } );    // fade in, change dimensions, left position add a callback  $ ( "a" ). animate (      {            "opacity" :1,          "height" :500,          "width" :400,          "left" :250       },      {          "duration" :500,          "complete" : function (){}       } );
jQuery:  per- form -ing relationship $ ( ":input" ) Collect all your form input fields in one step:  $ ( ":input" )   *more refined selects are available Example:   collect only checkboxes                        $ ( ":checkbox" ); collect only hidden inputs                      $ ( ":hidden" ); collect only text inputs + iterate             $ ( ":text" );
jQuery:  In the  event  of... events jQuery's event system normalizes the event object according to W3C standards. The event object is guaranteed to be passed to the event handler.   *2 approaches exist, direct event, and binding event listeners Example:   perform a click                     $ ( "a" ). click ( function (){ alert ( 'you clinked' )});  bind a click                           $ ( "a" ). bind ( 'click' ,  function (){ alert ( 'you clinked' )}); call that event                      $ ( "a" ). trigger ( 'click' );  // calls #2 unbind that event                 $ ( "a" ). unbind ( 'click' );   *jQuery currently has support for over 39 different events! and that's just the core 
jQuery:  Are you  ready ? events: ready One of the more important events listener / broadcasters that jQuery support is the  ready  event. It truly is about being prepared, and  ready  will tell you when!   Example:   document                     $ ( document ). ready ( function (){ // ready when you are  });  shorthand                     $ ( function (){ // ready when you are  });
jQuery:  extensions : your deadline needn't one $ . extend () Extend one object with one or more others, returning the original, modified, object.   *hang on, this is how jQuery's core works, so...   Let's extend jQuery! // we need an extension that will bold all selected objects $ . extend (      {          bold :  function (obj)          {              $ (obj).each(                  function ()                  {                       $ ( this ). css ({ "font-weight" : "bold" });                  }               )           }      }  ) // usage  $ . bold ( "a" );
jQuery:  express -ions: faster and simpler  $ . expr () We can use  $ . extend  also to extend other objects defined inside of jQuery, eg. to add new selectors:    *hang on, this is how jQuery's core works, so... We've already seen, and used some of jQuery's extension expression method:   $ ( ":input" )   Let's express with jQuery! // we need an expression (filter) that will find all selected objects that are bold  $ . extend (    $ . expr [ ':' ],    {       bold: function (arg)       {         return ( $ (arg). css ( "font-weight" ) ===  "bold" )        }    } ) //usage $ ( ":bold" )
jQuery:  AJAX  - fast data  $ . ajax () jQuery's  $ . ajax  provides a rich and robust method for handling data transport and manipulation. In addition to the low-level  $ . ajax  ( read:   more control ) method, we also have available to use high-level ( read:   quick and dirty ) methods as well, including:  $ . load,  $ . get  and   $ . post Let's take a look! // newsletter opt-in subscriber $ . ajax ( {      url : "http://someurl.com/newsletter.php" ,      cache : false ,      data :{action: "subscribe" ,email: "eugene.andruszczenko@gmail.com" ,name: "eugene" },      dataType : "json" ,     // [xml, html, script, json, jsonp, text]      type : "POST" ,         // [POST, GET, PUT, DELETE]      success :function(response)      {          // response is the data returned: in this case it will be expecting  json  data          // {success:true|false}                },      error :function()      {          // something went wrong!!!      } } )
libraries:  Rapid Development Cheaper, Better & Faster     The case used to be pick two of the above! You can't have all three. Until now!!!   javscript. library  =  { cheaper : true ,  better : true ,  faster : true } This holds true for being able to develop through the use of javascript libraries on the front end. Most common example: Typically in project estimation, there is still a fundamental amount of custom code that needs to be written and allotted for. In addition to that, the time is typically shortened through the process of not deliberating if the project will make use of a javascript library to leverage for your project development, but rather which one!!! As with other development languages, libraries for those languages will create a unified base for developers at all tiers of the projects   backend. developer  <=>  middleware. developer  <=>  frontend. developer
libraries:  Proof of Concept POC not POS     Don't throw away those prototype builds!!!   javscript. library  >>   POC   >>   Production This holds true for being able to develop through the use of javascript libraries on the front end. Most common example: Typically in project estimation, there is still a fundamental amount of custom code that needs to be written and allotted for. In addition to that, the time is typically shortened through the process of not deliberating if the project will make use of a javascript library to leverage for your project development, but rather which one!!! As with other development languages, libraries for those languages will create a unified base for developers at all tiers of the projects   backend. developer  <=>  middleware. developer  <=>  frontend. developer
libraries:  Studio Approach Easy to interpret     Through exposure and usage, a common language  (code & spoken)  will typically evolve within any size of given studio where developers, designer and the like work together on projects   designer . idea  =  developer . code  =   client .satisfaction Communication barriers fall and ideas blossom as to the handling of effects, motion, manipulation. If you are a  designer , how many times have you asked something similar to:  Can't you just make it slide up and fade at the same time?   If you are a  designer , how many times have you been asked similarly:  Make it slide up and fade at the same time? With the most common functionality already handled by most javascript framework, the guess work, browser compliance, backwards compatibility...    ...big list of client requirements  (are you still paying attention) ...    ...these now become and extension of your code without deteriorating the core intentions
libraries:  ROI Return on Investment   Othe than the $ being standard notation for both jQuery and Prototype there is it's literal interpretation...   ...$ the dollar sign!!!   javscript. library  =  { free : true ,  margin : true ,  profit : true } How it's done! Under both MIT and GPL licenses. This means that you can choose the license that best suits your project, and use it accordingly. Learning is easy! Both libraries leverage HTML and CSS (Cascading Style Sheets) knowledge as a stepping stone into javascript library usage. Getting your feet wet does not require expert knowledge of javascript. Additionally, these libraries provide a  framework unification  of  CSS, DOM (document object model) and javascript , providing and enabling even non developers to create proof of concept work! Recently javascript library support has been introduced in Adobe's Dreamweaver CS3 (through extensions) and is fully supported in CS4. Pick your library, highlight your object, pick your action(), done! Code hinting and coloring also supported.
libraries:  Out of the basement Real world libraries, Real world clients   Tech Google BIM Dell Intel AOL Oracle News BBC NBC BusinessWeek Newsweek Reuturs CBS News Sales|Services NBC Amazon NetFlix SalesForce Dominos US Airways Prototype jQuery Tech Apple Tivo NASA Microsoft  News NBC CNN.com ESPN Globe and Mail Sales|Services eBay H&M Sony DropSend Other Ruby on Rails
Thanks:  So long and thanks for all the  $ $ . thanks () The obligatory (often overlooked) thank you page   *copy, paste, and run!   // we need an extension that will bold all selected objects <script src=&quot;http://jqueryjs.googlecode.com/files/jquery-1.2.3.min.js&quot; type=&quot;text/javascript&quot;></script>     <script> $.extend(     {         thanks:function(obj){$(obj).each(function(i){             var text    = this.toString();             setTimeout(function(){var li    = $(document.createElement(&quot;li&quot;));li.text(text).hide().fadeIn('slow');$(&quot;body&quot;).append(li);},(i * 1000))         })}     } );          $(document).ready(function(){     $.thanks(         [&quot;refresh events&quot;, &quot;justin kuzoch&quot;,    &quot;centre for social innovation&quot;,    &quot;YOU&quot;]     )         }) </script> <body><h1>big thanks to:</h1></body>
Ad

More Related Content

What's hot (20)

jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
Paul Irish
 
JavaScript Needn't Hurt!
JavaScript Needn't Hurt!JavaScript Needn't Hurt!
JavaScript Needn't Hurt!
Thomas Kjeldahl Nilsson
 
Lecture 3 Javascript1
Lecture 3  Javascript1Lecture 3  Javascript1
Lecture 3 Javascript1
Sur College of Applied Sciences
 
Jquery 1
Jquery 1Jquery 1
Jquery 1
Manish Kumar Singh
 
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/DeveloperWordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
my easel
 
AJAX Workshop Notes
AJAX Workshop NotesAJAX Workshop Notes
AJAX Workshop Notes
Pamela Fox
 
Wordcamp abq cf-cpt
Wordcamp abq cf-cptWordcamp abq cf-cpt
Wordcamp abq cf-cpt
my easel
 
Learn javascript easy steps
Learn javascript easy stepsLearn javascript easy steps
Learn javascript easy steps
prince Loffar
 
Pragmatics of Declarative Ajax
Pragmatics of Declarative AjaxPragmatics of Declarative Ajax
Pragmatics of Declarative Ajax
davejohnson
 
Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]
Aaron Gustafson
 
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted NewardArchitecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
JAX London
 
Java script
Java scriptJava script
Java script
Soham Sengupta
 
Javascript and Jquery Best practices
Javascript and Jquery Best practicesJavascript and Jquery Best practices
Javascript and Jquery Best practices
Sultan Khan
 
Java scripts
Java scriptsJava scripts
Java scripts
Capgemini India
 
Scripting The Dom
Scripting The DomScripting The Dom
Scripting The Dom
Ara Pehlivanian
 
Rich faces
Rich facesRich faces
Rich faces
BG Java EE Course
 
jQuery introduction
jQuery introductionjQuery introduction
jQuery introduction
Tomi Juhola
 
Basics java scripts
Basics java scriptsBasics java scripts
Basics java scripts
ch samaram
 
Qpsmtpd
QpsmtpdQpsmtpd
Qpsmtpd
Fred Moyer
 
Introduction to Prototype JS Framework
Introduction to Prototype JS FrameworkIntroduction to Prototype JS Framework
Introduction to Prototype JS Framework
Mohd Imran
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
Paul Irish
 
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/DeveloperWordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
my easel
 
AJAX Workshop Notes
AJAX Workshop NotesAJAX Workshop Notes
AJAX Workshop Notes
Pamela Fox
 
Wordcamp abq cf-cpt
Wordcamp abq cf-cptWordcamp abq cf-cpt
Wordcamp abq cf-cpt
my easel
 
Learn javascript easy steps
Learn javascript easy stepsLearn javascript easy steps
Learn javascript easy steps
prince Loffar
 
Pragmatics of Declarative Ajax
Pragmatics of Declarative AjaxPragmatics of Declarative Ajax
Pragmatics of Declarative Ajax
davejohnson
 
Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]Fundamental JavaScript [In Control 2009]
Fundamental JavaScript [In Control 2009]
Aaron Gustafson
 
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted NewardArchitecture | Busy Java Developers Guide to NoSQL | Ted Neward
Architecture | Busy Java Developers Guide to NoSQL | Ted Neward
JAX London
 
Javascript and Jquery Best practices
Javascript and Jquery Best practicesJavascript and Jquery Best practices
Javascript and Jquery Best practices
Sultan Khan
 
jQuery introduction
jQuery introductionjQuery introduction
jQuery introduction
Tomi Juhola
 
Basics java scripts
Basics java scriptsBasics java scripts
Basics java scripts
ch samaram
 
Introduction to Prototype JS Framework
Introduction to Prototype JS FrameworkIntroduction to Prototype JS Framework
Introduction to Prototype JS Framework
Mohd Imran
 

Similar to Eugene Andruszczenko: jQuery (20)

jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
Doncho Minkov
 
J Query Presentation
J Query PresentationJ Query Presentation
J Query Presentation
Vishal Kumar
 
J Query
J QueryJ Query
J Query
ravinxg
 
Introduction to JQuery
Introduction to JQueryIntroduction to JQuery
Introduction to JQuery
MobME Technical
 
JQuery: Introduction
JQuery: IntroductionJQuery: Introduction
JQuery: Introduction
Amit Kumar Singh
 
jQuery and_drupal
jQuery and_drupaljQuery and_drupal
jQuery and_drupal
BlackCatWeb
 
JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom Manipulation
Mohammed Arif
 
eXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingeXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction Training
Hoat Le
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
Eric Steinborn
 
JavaScript 2.0 in Dreamweaver CS4
JavaScript 2.0 in Dreamweaver CS4JavaScript 2.0 in Dreamweaver CS4
JavaScript 2.0 in Dreamweaver CS4
alexsaves
 
jQuery
jQueryjQuery
jQuery
Vishwa Mohan
 
Implementing Comet using PHP
Implementing Comet using PHPImplementing Comet using PHP
Implementing Comet using PHP
King Foo
 
Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007
Guillaume Laforge
 
jQuery
jQueryjQuery
jQuery
Mohammed Arif
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rules
nagarajhubli
 
Javascript
JavascriptJavascript
Javascript
mussawir20
 
Advisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScriptAdvisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScript
dominion
 
Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02
Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02
Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02
careersblog
 
Basics of Ext JS
Basics of Ext JSBasics of Ext JS
Basics of Ext JS
ikhwanhayat
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
ipolevoy
 
J Query Presentation
J Query PresentationJ Query Presentation
J Query Presentation
Vishal Kumar
 
jQuery and_drupal
jQuery and_drupaljQuery and_drupal
jQuery and_drupal
BlackCatWeb
 
JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom Manipulation
Mohammed Arif
 
eXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction TrainingeXo SEA - JavaScript Introduction Training
eXo SEA - JavaScript Introduction Training
Hoat Le
 
JavaScript 2.0 in Dreamweaver CS4
JavaScript 2.0 in Dreamweaver CS4JavaScript 2.0 in Dreamweaver CS4
JavaScript 2.0 in Dreamweaver CS4
alexsaves
 
Implementing Comet using PHP
Implementing Comet using PHPImplementing Comet using PHP
Implementing Comet using PHP
King Foo
 
Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007Grails Introduction - IJTC 2007
Grails Introduction - IJTC 2007
Guillaume Laforge
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rules
nagarajhubli
 
Advisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScriptAdvisor Jumpstart: JavaScript
Advisor Jumpstart: JavaScript
dominion
 
Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02
Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02
Jqueryforbeginnersjqueryconference2009 090914063709 Phpapp02
careersblog
 
Basics of Ext JS
Basics of Ext JSBasics of Ext JS
Basics of Ext JS
ikhwanhayat
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
ipolevoy
 
Ad

More from Refresh Events (20)

Tamera Kremer - The Social Tools Won't Save You
Tamera Kremer - The Social Tools Won't Save YouTamera Kremer - The Social Tools Won't Save You
Tamera Kremer - The Social Tools Won't Save You
Refresh Events
 
Aubrey Podolsky - Sysomos' Social Media Tools and How To Use Them
Aubrey Podolsky - Sysomos' Social Media Tools and How To Use ThemAubrey Podolsky - Sysomos' Social Media Tools and How To Use Them
Aubrey Podolsky - Sysomos' Social Media Tools and How To Use Them
Refresh Events
 
Lynette Latinsky - Can Lunch Be On Me Today?
Lynette Latinsky - Can Lunch Be On Me Today?Lynette Latinsky - Can Lunch Be On Me Today?
Lynette Latinsky - Can Lunch Be On Me Today?
Refresh Events
 
Michael Burke
Michael BurkeMichael Burke
Michael Burke
Refresh Events
 
Tim Scollick - Flex, Seo And You
Tim Scollick - Flex, Seo And YouTim Scollick - Flex, Seo And You
Tim Scollick - Flex, Seo And You
Refresh Events
 
Joshua Wehner - Tomorrows Programming Languages Today
Joshua Wehner - Tomorrows Programming Languages TodayJoshua Wehner - Tomorrows Programming Languages Today
Joshua Wehner - Tomorrows Programming Languages Today
Refresh Events
 
Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...
Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...
Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...
Refresh Events
 
Ben Vinegar - 5 Tips For Better Javascript Applications
Ben Vinegar - 5 Tips For Better Javascript ApplicationsBen Vinegar - 5 Tips For Better Javascript Applications
Ben Vinegar - 5 Tips For Better Javascript Applications
Refresh Events
 
Jonathan Dunn - Talking You Down from the Bleeding Edge
Jonathan Dunn - Talking You Down from the Bleeding EdgeJonathan Dunn - Talking You Down from the Bleeding Edge
Jonathan Dunn - Talking You Down from the Bleeding Edge
Refresh Events
 
Justin Kozuch - Lessons Learned In Community Building
Justin Kozuch - Lessons Learned In Community BuildingJustin Kozuch - Lessons Learned In Community Building
Justin Kozuch - Lessons Learned In Community Building
Refresh Events
 
Jenmy Huynh - Finding Opportunities
Jenmy Huynh - Finding OpportunitiesJenmy Huynh - Finding Opportunities
Jenmy Huynh - Finding Opportunities
Refresh Events
 
Adil Dhalla - My City Lives
Adil Dhalla - My City LivesAdil Dhalla - My City Lives
Adil Dhalla - My City Lives
Refresh Events
 
Andy Walker - Little Geeks Foundation
Andy Walker - Little Geeks FoundationAndy Walker - Little Geeks Foundation
Andy Walker - Little Geeks Foundation
Refresh Events
 
Satish Kanwar - Entrepreneur Versus Employee
Satish Kanwar - Entrepreneur Versus EmployeeSatish Kanwar - Entrepreneur Versus Employee
Satish Kanwar - Entrepreneur Versus Employee
Refresh Events
 
Jason Schneider - What The Font?
Jason Schneider - What The Font?Jason Schneider - What The Font?
Jason Schneider - What The Font?
Refresh Events
 
Dre Labre - The Game Of Opposites
Dre Labre - The Game Of OppositesDre Labre - The Game Of Opposites
Dre Labre - The Game Of Opposites
Refresh Events
 
Evelyn So - A Few Social Media Stories
Evelyn So - A Few Social Media StoriesEvelyn So - A Few Social Media Stories
Evelyn So - A Few Social Media Stories
Refresh Events
 
Daniel Patricio: I Hope Mobile Kills Advertising
Daniel Patricio: I Hope Mobile Kills AdvertisingDaniel Patricio: I Hope Mobile Kills Advertising
Daniel Patricio: I Hope Mobile Kills Advertising
Refresh Events
 
Tom Purves: Designing for An Augmented Reality World
Tom Purves: Designing for An Augmented Reality WorldTom Purves: Designing for An Augmented Reality World
Tom Purves: Designing for An Augmented Reality World
Refresh Events
 
Jason Sadler: I Wear Your Shirt
Jason Sadler: I Wear Your ShirtJason Sadler: I Wear Your Shirt
Jason Sadler: I Wear Your Shirt
Refresh Events
 
Tamera Kremer - The Social Tools Won't Save You
Tamera Kremer - The Social Tools Won't Save YouTamera Kremer - The Social Tools Won't Save You
Tamera Kremer - The Social Tools Won't Save You
Refresh Events
 
Aubrey Podolsky - Sysomos' Social Media Tools and How To Use Them
Aubrey Podolsky - Sysomos' Social Media Tools and How To Use ThemAubrey Podolsky - Sysomos' Social Media Tools and How To Use Them
Aubrey Podolsky - Sysomos' Social Media Tools and How To Use Them
Refresh Events
 
Lynette Latinsky - Can Lunch Be On Me Today?
Lynette Latinsky - Can Lunch Be On Me Today?Lynette Latinsky - Can Lunch Be On Me Today?
Lynette Latinsky - Can Lunch Be On Me Today?
Refresh Events
 
Tim Scollick - Flex, Seo And You
Tim Scollick - Flex, Seo And YouTim Scollick - Flex, Seo And You
Tim Scollick - Flex, Seo And You
Refresh Events
 
Joshua Wehner - Tomorrows Programming Languages Today
Joshua Wehner - Tomorrows Programming Languages TodayJoshua Wehner - Tomorrows Programming Languages Today
Joshua Wehner - Tomorrows Programming Languages Today
Refresh Events
 
Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...
Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...
Colin Bowern - The Not So Scary Side Of Asp.Net – Model View Controller In Th...
Refresh Events
 
Ben Vinegar - 5 Tips For Better Javascript Applications
Ben Vinegar - 5 Tips For Better Javascript ApplicationsBen Vinegar - 5 Tips For Better Javascript Applications
Ben Vinegar - 5 Tips For Better Javascript Applications
Refresh Events
 
Jonathan Dunn - Talking You Down from the Bleeding Edge
Jonathan Dunn - Talking You Down from the Bleeding EdgeJonathan Dunn - Talking You Down from the Bleeding Edge
Jonathan Dunn - Talking You Down from the Bleeding Edge
Refresh Events
 
Justin Kozuch - Lessons Learned In Community Building
Justin Kozuch - Lessons Learned In Community BuildingJustin Kozuch - Lessons Learned In Community Building
Justin Kozuch - Lessons Learned In Community Building
Refresh Events
 
Jenmy Huynh - Finding Opportunities
Jenmy Huynh - Finding OpportunitiesJenmy Huynh - Finding Opportunities
Jenmy Huynh - Finding Opportunities
Refresh Events
 
Adil Dhalla - My City Lives
Adil Dhalla - My City LivesAdil Dhalla - My City Lives
Adil Dhalla - My City Lives
Refresh Events
 
Andy Walker - Little Geeks Foundation
Andy Walker - Little Geeks FoundationAndy Walker - Little Geeks Foundation
Andy Walker - Little Geeks Foundation
Refresh Events
 
Satish Kanwar - Entrepreneur Versus Employee
Satish Kanwar - Entrepreneur Versus EmployeeSatish Kanwar - Entrepreneur Versus Employee
Satish Kanwar - Entrepreneur Versus Employee
Refresh Events
 
Jason Schneider - What The Font?
Jason Schneider - What The Font?Jason Schneider - What The Font?
Jason Schneider - What The Font?
Refresh Events
 
Dre Labre - The Game Of Opposites
Dre Labre - The Game Of OppositesDre Labre - The Game Of Opposites
Dre Labre - The Game Of Opposites
Refresh Events
 
Evelyn So - A Few Social Media Stories
Evelyn So - A Few Social Media StoriesEvelyn So - A Few Social Media Stories
Evelyn So - A Few Social Media Stories
Refresh Events
 
Daniel Patricio: I Hope Mobile Kills Advertising
Daniel Patricio: I Hope Mobile Kills AdvertisingDaniel Patricio: I Hope Mobile Kills Advertising
Daniel Patricio: I Hope Mobile Kills Advertising
Refresh Events
 
Tom Purves: Designing for An Augmented Reality World
Tom Purves: Designing for An Augmented Reality WorldTom Purves: Designing for An Augmented Reality World
Tom Purves: Designing for An Augmented Reality World
Refresh Events
 
Jason Sadler: I Wear Your Shirt
Jason Sadler: I Wear Your ShirtJason Sadler: I Wear Your Shirt
Jason Sadler: I Wear Your Shirt
Refresh Events
 
Ad

Recently uploaded (20)

May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Top Hyper-Casual Game Studio Services
Top  Hyper-Casual  Game  Studio ServicesTop  Hyper-Casual  Game  Studio Services
Top Hyper-Casual Game Studio Services
Nova Carter
 
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptxIn-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
aptyai
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
accessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electricaccessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electric
UXPA Boston
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Top Hyper-Casual Game Studio Services
Top  Hyper-Casual  Game  Studio ServicesTop  Hyper-Casual  Game  Studio Services
Top Hyper-Casual Game Studio Services
Nova Carter
 
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptxIn-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
In-App Guidance_ Save Enterprises Millions in Training & IT Costs.pptx
aptyai
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
accessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electricaccessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electric
UXPA Boston
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 

Eugene Andruszczenko: jQuery

  • 1. javascript libraries: jQuery and Prototype
  • 2. jQuery: Introduction &quot;jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development .&quot; jquery.com  
  • 3. jQuery: A little less information &quot;The Write Less, Do More , Javascript Library&quot; jquery.com   Lightweight Footprint CSS3 Compliant Cross-Browser Compliant
  • 4. jQuery: A business approach Open License   jQuery is currently available for use in all personal or commercial projects under both MIT and GPL licenses. This means that you can choose the license that best suits your project, and use it accordingly.   Ongoing Refinement   jQuery has 5 core teams that  Development Team Evangelist Team jQuery UI Team Plugins Team Web and Design Team   jQuery has an additional unofficial team The web community jQuery extension authors 3rd party contributors You!
  • 5. jQuery: Show me the money $ The dollar sign ($) is your first step in talking to jQuery   The basics:   CSS selectors           $ ( &quot;.className&quot; ); DOM selectors          $ ( &quot;a&quot; ); classes, methods      $ . fn ();
  • 6. jQuery: Where the action is $ (). action () $(). action () is how you perform your action on all of your items   *note: actions are stackable   *note: actions accept arguments and callbacks Example:   simple fade in                                     $ ( &quot;a&quot; ). fadeIn (); hide, then fade in all anchor tags       $ ( &quot;a&quot; ). hide (). fadeIn (); fade in all anchor tags w/ callback     $ ( &quot;a&quot; ). fadeIn ( 'slow' , function (){});
  • 7. jQuery: Moving pictures $ (). animate () $(). animate () ;  the key aspect of this function is the object of style properties that will be animated, and to what end. Animation: Animated effects can be controlled further and customized using jQuery's $ (). animate (); method // fade in: same as  $ (). fadeIn ();         $ ( &quot;a&quot; ). animate (      {          &quot;opacity&quot; :1      },      {          &quot;duration&quot; :500      } );   // fade in, change dimensions, left position add a callback  $ ( &quot;a&quot; ). animate (      {            &quot;opacity&quot; :1,         &quot;height&quot; :500,         &quot;width&quot; :400,         &quot;left&quot; :250      },      {          &quot;duration&quot; :500,         &quot;complete&quot; : function (){}      } );
  • 8. jQuery: per- form -ing relationship $ ( &quot;:input&quot; ) Collect all your form input fields in one step: $ ( &quot;:input&quot; )   *more refined selects are available Example:   collect only checkboxes                       $ ( &quot;:checkbox&quot; ); collect only hidden inputs                     $ ( &quot;:hidden&quot; ); collect only text inputs + iterate            $ ( &quot;:text&quot; );
  • 9. jQuery: In the event of... events jQuery's event system normalizes the event object according to W3C standards. The event object is guaranteed to be passed to the event handler.   *2 approaches exist, direct event, and binding event listeners Example:   perform a click                    $ ( &quot;a&quot; ). click ( function (){ alert ( 'you clinked' )}); bind a click                          $ ( &quot;a&quot; ). bind ( 'click' , function (){ alert ( 'you clinked' )}); call that event                     $ ( &quot;a&quot; ). trigger ( 'click' ); // calls #2 unbind that event                $ ( &quot;a&quot; ). unbind ( 'click' );   *jQuery currently has support for over 39 different events! and that's just the core 
  • 10. jQuery: Are you ready ? events: ready One of the more important events listener / broadcasters that jQuery support is the ready event. It truly is about being prepared, and ready will tell you when!   Example:   document                    $ ( document ). ready ( function (){ // ready when you are }); shorthand                    $ ( function (){ // ready when you are });
  • 11. jQuery: extensions : your deadline needn't one $ . extend () Extend one object with one or more others, returning the original, modified, object.   *hang on, this is how jQuery's core works, so...   Let's extend jQuery! // we need an extension that will bold all selected objects $ . extend (     {         bold : function (obj)          {             $ (obj).each(                 function ()                 {                      $ ( this ). css ({ &quot;font-weight&quot; : &quot;bold&quot; });                  }             )         }     } ) // usage $ . bold ( &quot;a&quot; );
  • 12. jQuery: express -ions: faster and simpler $ . expr () We can use $ . extend also to extend other objects defined inside of jQuery, eg. to add new selectors:   *hang on, this is how jQuery's core works, so... We've already seen, and used some of jQuery's extension expression method: $ ( &quot;:input&quot; )   Let's express with jQuery! // we need an expression (filter) that will find all selected objects that are bold $ . extend (   $ . expr [ ':' ],   {      bold: function (arg)      {        return ( $ (arg). css ( &quot;font-weight&quot; ) === &quot;bold&quot; )      }   } ) //usage $ ( &quot;:bold&quot; )
  • 13. jQuery:  AJAX - fast data $ . ajax () jQuery's $ . ajax provides a rich and robust method for handling data transport and manipulation. In addition to the low-level $ . ajax ( read: more control ) method, we also have available to use high-level ( read: quick and dirty ) methods as well, including: $ . load, $ . get and $ . post Let's take a look! // newsletter opt-in subscriber $ . ajax ( {      url : &quot;http://someurl.com/newsletter.php&quot; ,     cache : false ,     data :{action: &quot;subscribe&quot; ,email: &quot;eugene.andruszczenko@gmail.com&quot; ,name: &quot;eugene&quot; },     dataType : &quot;json&quot; ,     // [xml, html, script, json, jsonp, text]     type : &quot;POST&quot; ,        // [POST, GET, PUT, DELETE]     success :function(response)     {         // response is the data returned: in this case it will be expecting json data         // {success:true|false}              },     error :function()     {         // something went wrong!!!     } } )
  • 14. libraries: Rapid Development Cheaper, Better & Faster   The case used to be pick two of the above! You can't have all three. Until now!!!   javscript. library = { cheaper : true , better : true , faster : true } This holds true for being able to develop through the use of javascript libraries on the front end. Most common example: Typically in project estimation, there is still a fundamental amount of custom code that needs to be written and allotted for. In addition to that, the time is typically shortened through the process of not deliberating if the project will make use of a javascript library to leverage for your project development, but rather which one!!! As with other development languages, libraries for those languages will create a unified base for developers at all tiers of the projects   backend. developer <=> middleware. developer <=> frontend. developer
  • 15. libraries: Proof of Concept POC not POS   Don't throw away those prototype builds!!!   javscript. library >> POC >> Production This holds true for being able to develop through the use of javascript libraries on the front end. Most common example: Typically in project estimation, there is still a fundamental amount of custom code that needs to be written and allotted for. In addition to that, the time is typically shortened through the process of not deliberating if the project will make use of a javascript library to leverage for your project development, but rather which one!!! As with other development languages, libraries for those languages will create a unified base for developers at all tiers of the projects   backend. developer <=> middleware. developer <=> frontend. developer
  • 16. libraries: Studio Approach Easy to interpret   Through exposure and usage, a common language (code & spoken) will typically evolve within any size of given studio where developers, designer and the like work together on projects   designer . idea = developer . code = client .satisfaction Communication barriers fall and ideas blossom as to the handling of effects, motion, manipulation. If you are a designer , how many times have you asked something similar to:  Can't you just make it slide up and fade at the same time?   If you are a designer , how many times have you been asked similarly:  Make it slide up and fade at the same time? With the most common functionality already handled by most javascript framework, the guess work, browser compliance, backwards compatibility...    ...big list of client requirements (are you still paying attention) ...   ...these now become and extension of your code without deteriorating the core intentions
  • 17. libraries: ROI Return on Investment   Othe than the $ being standard notation for both jQuery and Prototype there is it's literal interpretation...   ...$ the dollar sign!!!   javscript. library = { free : true , margin : true , profit : true } How it's done! Under both MIT and GPL licenses. This means that you can choose the license that best suits your project, and use it accordingly. Learning is easy! Both libraries leverage HTML and CSS (Cascading Style Sheets) knowledge as a stepping stone into javascript library usage. Getting your feet wet does not require expert knowledge of javascript. Additionally, these libraries provide a framework unification of CSS, DOM (document object model) and javascript , providing and enabling even non developers to create proof of concept work! Recently javascript library support has been introduced in Adobe's Dreamweaver CS3 (through extensions) and is fully supported in CS4. Pick your library, highlight your object, pick your action(), done! Code hinting and coloring also supported.
  • 18. libraries: Out of the basement Real world libraries, Real world clients Tech Google BIM Dell Intel AOL Oracle News BBC NBC BusinessWeek Newsweek Reuturs CBS News Sales|Services NBC Amazon NetFlix SalesForce Dominos US Airways Prototype jQuery Tech Apple Tivo NASA Microsoft News NBC CNN.com ESPN Globe and Mail Sales|Services eBay H&M Sony DropSend Other Ruby on Rails
  • 19. Thanks: So long and thanks for all the $ $ . thanks () The obligatory (often overlooked) thank you page   *copy, paste, and run!   // we need an extension that will bold all selected objects <script src=&quot;http://jqueryjs.googlecode.com/files/jquery-1.2.3.min.js&quot; type=&quot;text/javascript&quot;></script>     <script> $.extend(     {         thanks:function(obj){$(obj).each(function(i){             var text    = this.toString();             setTimeout(function(){var li    = $(document.createElement(&quot;li&quot;));li.text(text).hide().fadeIn('slow');$(&quot;body&quot;).append(li);},(i * 1000))         })}     } );         $(document).ready(function(){     $.thanks(         [&quot;refresh events&quot;, &quot;justin kuzoch&quot;,    &quot;centre for social innovation&quot;,    &quot;YOU&quot;]     )        }) </script> <body><h1>big thanks to:</h1></body>

Editor's Notes

  • #2: Welcome and introduction