javascript libraries

35
JavaScript Libraries Future of Web Design NYC08

Upload: elliando-dias

Post on 15-May-2015

2.694 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Javascript Libraries

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

Page 2: Javascript Libraries

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

Page 3: Javascript Libraries

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

Page 4: Javascript Libraries

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

Page 5: Javascript Libraries

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

Page 6: Javascript Libraries

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

Page 7: Javascript Libraries

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

Page 8: Javascript Libraries

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

Page 9: Javascript Libraries

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

Page 10: Javascript Libraries

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

Page 11: Javascript Libraries

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

Page 12: Javascript Libraries

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

Page 13: Javascript Libraries

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

Page 14: Javascript Libraries

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

Page 15: Javascript Libraries

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

Page 16: Javascript Libraries

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

Page 17: Javascript Libraries

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

Page 18: Javascript Libraries

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

Page 19: Javascript Libraries

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

Page 20: Javascript Libraries

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

Page 21: Javascript Libraries

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

Page 22: Javascript Libraries

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

Page 23: Javascript Libraries

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

Page 24: Javascript Libraries

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

Page 25: Javascript Libraries

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

Page 26: Javascript Libraries

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

Page 27: Javascript Libraries

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

Page 28: Javascript Libraries

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

Page 29: Javascript Libraries

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

Page 30: Javascript Libraries

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

Page 31: Javascript Libraries

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

Page 32: Javascript Libraries

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

Page 33: Javascript Libraries

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

Page 34: Javascript Libraries

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

codegooglecomapisajaxlibs

Thank You

Page 35: Javascript Libraries

Thank You