javascript libraries

Post on 15-May-2015

2.695 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

JavaScript LibrariesFuture of Web Design

NYC08

Karl Swedberg

bull Email karllearningjquerycom

bull Twitter kswedberg

bull Slides links and examples

traininglearningjquerycom

Roseland BallroomYou can hellip

Roseland BallroomYou can hellip

Be like Glenn

Why Use JavaScript

bull Keep HTML squeaky clean

bull User Interaction amp immediate feedback

bull Server interaction without page refresh

Why Not Use Flash

bull Flash is great

bull You should use it

bull But itrsquos not the answer to every question or the solution to every problem

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Karl Swedberg

bull Email karllearningjquerycom

bull Twitter kswedberg

bull Slides links and examples

traininglearningjquerycom

Roseland BallroomYou can hellip

Roseland BallroomYou can hellip

Be like Glenn

Why Use JavaScript

bull Keep HTML squeaky clean

bull User Interaction amp immediate feedback

bull Server interaction without page refresh

Why Not Use Flash

bull Flash is great

bull You should use it

bull But itrsquos not the answer to every question or the solution to every problem

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Roseland BallroomYou can hellip

Roseland BallroomYou can hellip

Be like Glenn

Why Use JavaScript

bull Keep HTML squeaky clean

bull User Interaction amp immediate feedback

bull Server interaction without page refresh

Why Not Use Flash

bull Flash is great

bull You should use it

bull But itrsquos not the answer to every question or the solution to every problem

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Roseland BallroomYou can hellip

Be like Glenn

Why Use JavaScript

bull Keep HTML squeaky clean

bull User Interaction amp immediate feedback

bull Server interaction without page refresh

Why Not Use Flash

bull Flash is great

bull You should use it

bull But itrsquos not the answer to every question or the solution to every problem

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Why Use JavaScript

bull Keep HTML squeaky clean

bull User Interaction amp immediate feedback

bull Server interaction without page refresh

Why Not Use Flash

bull Flash is great

bull You should use it

bull But itrsquos not the answer to every question or the solution to every problem

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Why Not Use Flash

bull Flash is great

bull You should use it

bull But itrsquos not the answer to every question or the solution to every problem

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Why Use a JavaScript Library

bull Crazy fast development

bull Cross-browser solutions without the mess

bull Leverage what you already know about HTML amp CSS

bull Better CSS support than CSS (cf wwwquirksmodeorg)

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Why Use a JavaScript Library

bull Animation movement effects with ease

bull Painlessly Unobtrusive

bull Encourages Progressive Enhancement

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Whatrsquos Available

bull Prototype Scriptaculous

bull Dojo Toolkit

bull Mootools

bull YUI Yahoo User Interface

bull jQuery

The Big Five

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Prototype

bull wwwprototypejsorg

bull scriptaculous

bull Extensions scriptekacom

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Dojo

bull wwwdojotoolkitorg

bull Dojo Core

bull Dijit

bull DojoX

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Mootools

bull mootoolsnet

bull mootorialcom

bull Extensions

bull clientcidecom

bull mooforumnet

bull esteaknet

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Yahoo User InterfaceYUI

bull developeryahoocomyui

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

jQuery

bull jquerycom

bull Plugins pluginsjquerycom

bull jQuery UI uijquerycom

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Whatrsquos Available

bull Mochikit

bull Adobe Spry

bull SproutCore

bull Cappuccino

bull ExtJS

bull DOMAssistant

bull base2

bull DED|Chain

bull JavaScriptMVC

bull qooxdoo

bull midori

bull June

bull UIZE

bull SimpleJS

bull fleegixjs

bull Foundation

bull GWT

bull and many more

Others

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

What Can They Do For Me

bull Find elements on a web page

bull Do something with them

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

What Can They Do For Me

bull Insert copy move remove elements

bull Change their attributes their appearance

bull Animate them ndash with slides fades scales and all manner of movement

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

What Can They Do For Me

bull Incorporate ldquowidgetsrdquo (date pickers dialogs data grids sliders etc)

bull Send information to the server

bull And receive information from the server

bull And do stuff with that information

bull Help with more ldquoprogrammeryrdquo things

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

What Do they look like

bull A lot more familiar than you might expect

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

A lot like CSS

bull element 1313 13 13 13 div ltdivgt

bull id 13 13 13 13 13 13 myid lth2 id=myidgt

bull class 13 13 13 13 13 myclass ltp class=myclassgt

bull selector1 selector2 1313 p a ltpgtltpgtltagtltagt

bull ancestor descendant 13 p span ltpgtltspangtltspangt

bull parent gt child 13 13 13 p gt span ltpgtltspangtltspangt

bull nth-child() 13 13 13 13 linth-child(2) ltulgtltligtltligt

httpwwww3orgTRcss3-selectors

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

A lot like CSS

bull $(element) 13 13 13 13 13 div ltdivgt

bull $(id) 13 13 13 13 13 13 myid lth2 id=myidgt

bull $(class)13 13 13 13 13 13 myclass ltp class=myclassgt

bull $(selector1 selector2) 13 13 p a ltpgtltpgtltagtltagt

bull $(ancestor descendant) 13 13 p span ltpgtltspangtltspangt

bull $(parent gt child) 13 13 13 p gt span ltpgtltspangtltspangt

bull $(nth-child())13 13 13 13 linth-child(2) ltulgtltligtltligt

httpdocsjquerycomSelectors

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

A lot like real words$(myid span)

addClass(newclass)

parents(divfirst)

fadeIn(slow)

find(a)

click(function()

confirm(You really wanna go there)

)

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

A lot like real words$(policy-cta a)media( width 500 height 300 flashVars autostart true controlbar none flvPath assetsvideosintroflv )

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Basic Example 1Table row striping

bull jQuery$(trnth-child(odd))addClass(alt)

bull Mootools$$(trodd)addClass(alt)

bull Dojodojoquery(trnth-child(odd))addClass(alt)

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Basic Example 2Hover

bull Dojo

dojoquery(tr)onmouseenter(function(e) etargetclassName += highlight)onmouseleave(function(e) etargetclassName = etargetclassName replace( highlight ))

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Basic Example 2Hover

bull Mootools

$$(tr)addEvents( mouseover function() thisaddClass(highlight) mouseout function() thisremoveClass(highlight) )

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Basic Example 2Hover

bull jQuery

$(tr)mouseover(function() $(this)addClass(highlight))mouseout( function() $(this)removeClass(highlight))

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Basic Example 2Hover

bull jQuery

$(tr)hover(function() $(this)addClass(highlight) function() $(this)removeClass(highlight))

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Letrsquos See It

bull Demo

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

How Do I Choosebull Library Maturity (alpha beta number of releases

Unit tests)

bull Documentation (official unofficial online offline books)

bull Community (Forums Google groups blogs IRC Twitter Tone helpfulness responsiveness)

bull Project requirements (web site or application ajax effects events)

bull Performance (benchmarks)

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

How Do I Choosebull Server-side Framework (Does it come bundled

with a JS library)

bull Extensibility (Plugins widgets components available and easy to find Create your own easily)

bull Style (What does the code look like Is it easy to figure out whats going on Does it look familiar at all)

bull Commitment to Unobtrusive JavaScript and Accessibility

bull Cost and Licensing (fee open source MIT GNU GPL LGPL BSD etc)

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

How Do I Get Thembull Go to their websites

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

How Do I Get Thembull Go to their websites

bull dojotoolkitorg

bull jquerycom

bull mootoolsnet

bull prototypejsorg

bull developeryahoocomyui

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

How Do I Get Thembull Go to the Google AJAX Libraries API

codegooglecomapisajaxlibs

Thank You

Thank You

top related