123
@mikehostetler Rapidly Develop Mobile Web Applications with Wednesday, October 19, 11

Rapidly Develop Mobile Web Applications with jQuery Mobile

Embed Size (px)

DESCRIPTION

This case study focuses on how to effectively use jQuery Mobile to develop robust, cross-platform, mobile web applications. We’ll present an overview of jQuery Mobile, outlining the goals and aims of the project and the pros and cons. You’ll learn the capabilities of jQuery Mobile, walk through the API and review current, sample applications. You’ll also look at an app appendTo has built that demonstrates how easy and efficient it is to build an application with jQuery Mobile.

Citation preview

Page 1: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Rapidly Develop Mobile Web Applications with

Wednesday, October 19, 11

Page 2: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Who am I?

Wednesday, October 19, 11

Page 3: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 4: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 5: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 6: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

http://learn.appendto.com

Wednesday, October 19, 11

Page 7: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 8: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Many More ...

Wednesday, October 19, 11

Page 9: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

The Mobile Frontier ...

Wednesday, October 19, 11

Page 10: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

6.9 Billion People

Wednesday, October 19, 11

Page 11: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Mobile is available to 90%

Wednesday, October 19, 11

Page 12: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

5.3 Billion+ Active Subscriptions

http://www.itu.int/ITU-D/ict/material/FactsFigures2010.pdf

Wednesday, October 19, 11

Page 14: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

10+ billion by 2013

Wednesday, October 19, 11

Page 15: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 16: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Know Better ... Do Better

?

Wednesday, October 19, 11

Page 17: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

The is the webPeople expect it to work everywhere

Wednesday, October 19, 11

Page 18: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

The Solution?

Wednesday, October 19, 11

Page 19: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 20: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

jQuery Philosophy ...

Wednesday, October 19, 11

Page 21: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Unified System

Universal Access

Easy Development

Wednesday, October 19, 11

Page 22: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

One Codebase - Multiple Platforms

Wednesday, October 19, 11

Page 23: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Desktop Too!

Wednesday, October 19, 11

Page 24: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

In <3 with Web Standards

Wednesday, October 19, 11

Page 25: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Built on jQuery Core ...

Wednesday, October 19, 11

Page 26: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Familiar API Style

It’s just jQuery!

$( document ).delegate( ".city", "click", function ( e ) { $( "#dialog" ).one( "pagehide", function () { $.mobile.changePage( 'cities.php' ); }).dialog( "close" ); });

Wednesday, October 19, 11

Page 27: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Small Filesize

Wednesday, October 19, 11

Page 28: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Mobile Browser Grades

Basic HTMLCBA

Enhanced experience without Ajax

Full experience with Ajax-based animated page transitions.

Wednesday, October 19, 11

Page 29: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Graded Browser Support

Wednesday, October 19, 11

Page 30: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Doesn’t Break the Web

Wednesday, October 19, 11

Page 31: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Unified Experience

Wednesday, October 19, 11

Page 32: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Accessible

Wednesday, October 19, 11

Page 33: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Normalizes Input Paradigms

Wednesday, October 19, 11

Page 34: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Compiles to Native

+ =

Wednesday, October 19, 11

Page 35: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

The Con’s ...

Wednesday, October 19, 11

Page 36: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Perceived Performance

Wednesday, October 19, 11

Page 37: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Native Look & Feel

vs.

Wednesday, October 19, 11

Page 38: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Device API’s

Wednesday, October 19, 11

Page 39: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Offline Access

( )

Wednesday, October 19, 11

Page 40: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

These are hard problems ...

Wednesday, October 19, 11

Page 41: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Choose the right tool ...

Wednesday, October 19, 11

Page 42: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Current Project Status

Wednesday, October 19, 11

Page 43: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Just released jQuery Mobile RC1

Wednesday, October 19, 11

Page 44: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 45: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 46: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Wednesday, October 19, 11

Page 47: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

More at http://jqmgallery.com

Wednesday, October 19, 11

Page 48: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Standard in Adobe CS5.5

Wednesday, October 19, 11

Page 49: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Shipping in Visual Studio Soon ...

Wednesday, October 19, 11

Page 50: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Lets dive in ...

Wednesday, October 19, 11

Page 51: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Download the code

http://jquerymobile.com/download https://github.com/jquery/jquery-mobile

or use a CDN ...

Wednesday, October 19, 11

Page 52: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Pages

Wednesday, October 19, 11

Page 53: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Your First Page!<!DocType HTML>

<html> <head> <meta charset=”utf-8”> <title>My first jQuery Mobile Page!</title> </head> <body> .... </body></html>

Wednesday, October 19, 11

Page 57: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Building your Page<body>

<div data-role=”page”>

<p>Hello World!</p>

</div>

</body>

Wednesday, October 19, 11

Page 58: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

The role of data attributes ...<body>

<div data-role=”page”>

<p>Hello World!</p>

</div>

</body>

Wednesday, October 19, 11

Page 59: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Full Sample Page<body> <div data-role=”page”>

<div data-role=”header”> ... </div>

<div data-role=”content”> ... </div>

<div data-role=”footer”> ... </div>

</div></body>

Wednesday, October 19, 11

Page 60: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Lists

Wednesday, October 19, 11

Page 61: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Basic List<div data-role=”content”>

<h2>Hello World!</h2> <ul> <li>jQuery</li> <li>jQuery UI</li> <li>jQuery Mobile</li> <li>QUnit</li> </ul>

</div>

Wednesday, October 19, 11

Page 62: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Add the List View Role<div data-role=”content”>

<h2>Hello World!</h2> <ul data-role="listview"> <li>jQuery</li> <li>jQuery UI</li> <li>jQuery Mobile</li> <li>QUnit</li> </ul>

</div>

Wednesday, October 19, 11

Page 63: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Inset Style<div data-role=”content”>

<h2>Hello World!</h2> <ul data-role="listview" data-inset="true" > <li>jQuery</li> <li>jQuery UI</li> <li>jQuery Mobile</li> <li>QUnit</li> </ul>

</div>

Wednesday, October 19, 11

Page 64: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Add Links <ul data-role="listview" data-inset="true"> <li> <a href=”http://jquery.com”> jQuery </a> </li> ... </ul>

Wednesday, October 19, 11

Page 65: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

More Examples ...

Wednesday, October 19, 11

Page 66: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Ordered Lists<div data-role=”content”>

<h2>Hello World!</h2> <ol data-role="listview"> <li>jQuery</li> <li>jQuery UI</li> <li>jQuery Mobile</li> <li>QUnit</li> </ol>

</div>

Wednesday, October 19, 11

Page 67: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Nested Lists = Drillable Pages

Wednesday, October 19, 11

Page 68: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Count Bubbles

<ul data-role="listview">

<li><a href=”http://jquery.com”> jQuery <span class="ui-li-count">1.6.4</span> </a></li>

...</ul>

Wednesday, October 19, 11

Page 69: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

List Dividers<ul data-role="listview">

<li data-role="list-divider">Core</li> <li>jQuery</li>

<li data-role="list-divider">UI</li> <li>jQuery UI</li> <li>jQuery Mobile</li>

<li data-role="list-divider">Testing</li> <li>QUnit</li></ul>

Wednesday, October 19, 11

Page 70: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Filter Bar<div data-role=”content”>

<h2>Hello World!</h2> <ul data-role="listview" data-filter="true"> .... </ul>

</div>

Wednesday, October 19, 11

Page 71: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Adding List Items

Wednesday, October 19, 11

Page 72: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Append, then Refresh!$(‘ul#jquery’).

.append(

‘<li><a href=”http://sizzlejs.com”>Sizzle JS</a></li>’

).listview( ‘refresh’ );

Wednesday, October 19, 11

Page 73: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Theming

Wednesday, October 19, 11

Page 74: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Basic Theming<div data-role=”page” data-theme=”a”>

<div data-role=”content”> .... </div>

</div>

Wednesday, October 19, 11

Page 75: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Side by Side

Wednesday, October 19, 11

Page 76: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

ThemeRoller

Wednesday, October 19, 11

Page 77: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Links & Navigation

Wednesday, October 19, 11

Page 78: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

External Links <ul data-role="listview" data-inset="true" data-theme=”e”> <li> <a href=”http://jquery.com”> jQuery </a> </li> ... </ul>

Wednesday, October 19, 11

Page 79: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Internal + Hijax + DOM Injection <ul data-role="listview" data-inset="true" data-theme=”e”> <li> <a href=”jquery.html”> jQuery </a> </li> ... </ul>

Click!

Wednesday, October 19, 11

Page 80: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Internal + Hijax + DOM Injection

/index.html /jquery.html

Wednesday, October 19, 11

Page 81: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Internal + Hijax + DOM Injection

/jquery.html/index.html

Wednesday, October 19, 11

Page 82: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Internal + Hijax + DOM Injection

/jquery.html/index.html

Wednesday, October 19, 11

Page 83: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Transitions

Wednesday, October 19, 11

Page 84: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

External Links <ul data-role="listview" data-inset="true" data-theme=”e”> <li> <a href=”http://jquery.com” data-transition="pop"> jQuery a’ Poppin </a> </li> ... </ul>

Wednesday, October 19, 11

Page 85: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Multi-Page & Pre-Fetch

Wednesday, October 19, 11

Page 86: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Multiple Pages, One DOM<body>

<div data-role=”page” id=”page1”> <p>Hello World!</p> </div>

<div data-role=”page” id=”page2”> <p>Hello World!</p> </div>

</body>

Wednesday, October 19, 11

Page 87: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Pre-Fetching<body>

<div data-role=”page” id=”page1”> <p>Hello World!</p> <a href="prefetchMe.html" data-prefetch> ... </a> </div>

<div data-role=”page” id=”page2”> <p>Hello World!</p> </div>

</body>

Wednesday, October 19, 11

Page 88: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Forms

Wednesday, October 19, 11

Page 89: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Basic Form with Labels<div data-role="content">

<form action="#" method="get"> <label for="example">Example:</label> <input type="text" name="example" value="" /> </form>

</div>

Wednesday, October 19, 11

Page 90: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Containers<div data-role="content"> <form action="#" method="get">

<div data-role="fieldcontain"> <label for="example">Example:</label> <input type="text" name="example" value="" /> </div>

</form></div>

Wednesday, October 19, 11

Page 91: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Optimized for Width Changes

Wednesday, October 19, 11

Page 92: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Progressive Enhancement

Wednesday, October 19, 11

Page 93: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Text Input<div data-role="content"> <form action="#" method="get">

<div data-role="fieldcontain"> <label for="example">Example:</label> <input type="text" name="example" value="" /> </div>

</form></div>

Wednesday, October 19, 11

Page 94: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Text Input Helpers

”password” ”email” ”tel”

Wednesday, October 19, 11

Page 95: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Text Area’s Grow

Wednesday, October 19, 11

Page 96: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Flip Switch<form action="#" method="get"> <div data-role="fieldcontain"> <label for="slide">Flip switch:</label> <select name="slide" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select> </div> </form></div>

Wednesday, October 19, 11

Page 97: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Radio Buttons<form action="#" method="get"> <div data-role="fieldcontain"> <input type="radio" name="choice-1" value="choice-1"> <label for="choice-1">Apples</label> </div> ... </form></div>

Wednesday, October 19, 11

Page 98: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Checkboxes Too<form action="#" method="get"> <div data-role="fieldcontain"> <input type="checkbox" name="choice-1" value="choice-1"> <label for="choice-1">Apples</label> </div> ... </form></div>

Wednesday, October 19, 11

Page 99: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Horizontal Set<form action="#" method="get"> <div data-role="fieldcontain" data-type=”horizontal”> <input type="checkbox" name="choice-1" value="choice-1"> <label for="choice-1">Apples</label> </div> ... </form></div>

Wednesday, October 19, 11

Page 100: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Select Lists<form action="#" method="get"> <div data-role="fieldcontain"> <label for="choice-1"> Choose shipping method:</label> <select name="choice-1"> <option value="std">Standard: 7 day </option> ... </select> </div> </form></div>

Wednesday, October 19, 11

Page 101: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Select Lists<form action="#" method="get"> <div data-role="fieldcontain"> <label for="choice-1"> Choose shipping method:</label> <select name="choice-1"> <option value="std">Standard: 7 day </option> ... </select> </div> </form></div>

Wednesday, October 19, 11

Page 102: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Select Lists - Non-Native<form action="#" method="get"> <div data-role="fieldcontain"> <label for="choice-1"> Choose shipping method:</label> <select name="choice-1" data-native-menu="false"> <option value="std">Standard: 7 day </option> ... </select> </div> </form>

Wednesday, October 19, 11

Page 103: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Extra’s

Wednesday, October 19, 11

Page 104: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Dialog’s<div data-role="content">

<a href="foo.html" data-rel="dialog">Open dialog</a>

</div>

Wednesday, October 19, 11

Page 105: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Button’s<div data-role="content">

<a href="#" data-role="button"> Link Button</a>

<a href="#" data-role="button" data-icon="star">Star Icon!</a>

</div>

Wednesday, October 19, 11

Page 106: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Toolbar’s<div data-role="page">

<div data-role="header" data-position="inline"> <a href="index.html" data-icon="delete">Cancel</a> <h1>Edit Contact</h1> <a href="index.html" data-icon="check">Save</a> </div>

</div>

Wednesday, October 19, 11

Page 107: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Navbar’s<div data-role="page"> .... <div data-role="footer">

<div data-role="navbar"> <ul> <li>Summary</li> ... </ul> </div> </div></div>

Wednesday, October 19, 11

Page 108: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Fixed Positioning<div data-role="page">

<div data-role="header" data-position="fixed"> <h1>Fixed toolbars</h1> </div>

</div>

Wednesday, October 19, 11

Page 109: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Persistent Footer Bar<div data-role="footer">

<div data-role="navbar" class="ui-state-persist"> <p><a href=”#”>Friends</a></p> </div></div>

Wednesday, October 19, 11

Page 110: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Events

Wednesday, October 19, 11

Page 111: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

New Events

‣ tap, taphold

‣ swipe, swipeleft, swiperight

‣ scrollstart, scrollstop

‣orientationchange

‣ Page Load: pageloadbefore, pageload, pageloadfailed

‣ Page Change: pagechangebefore, pagechange, pagechangefailed

‣Many More!

Wednesday, October 19, 11

Page 112: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Virtual Mouse Events

‣ vmouseover

‣ vmousedown

‣ vmousemove

‣ vmouseup

‣ vmouseclick - WARNING!

‣ vmousecancel

Wednesday, October 19, 11

Page 113: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

API Methods

Wednesday, October 19, 11

Page 114: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Changing Pages// Mimic’s a ‘tap’ or ‘click’$.mobile.changePage( ‘about/us.html’ OR $(‘#about’), { /* options */ }); // Fetches external URL, inserts it into the DOM$.mobile.loadPage( ‘about/us.html’, { /* options */ });

Wednesday, October 19, 11

Page 115: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Loading Message$.mobile.showLoadingMessage()

$.mobile.hideLoadingMessage()

Wednesday, October 19, 11

Page 116: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

The Data Question ...

Wednesday, October 19, 11

Page 117: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Those data- attributes ...Don’t use:

$.data

Use:

jqmData() andjqmRemoveData()

Wednesday, October 19, 11

Page 118: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

URL’s & Paths

Wednesday, October 19, 11

Page 120: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

http://filamentgroup.com

Thanks to the Filament Group!

Wednesday, October 19, 11

Page 121: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Thanks to the jQuery Mobile Team!

Wednesday, October 19, 11

Page 122: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Thanks to the Sponsors!

Wednesday, October 19, 11

Page 123: Rapidly Develop Mobile Web Applications with jQuery Mobile

@mikehostetler

Thank You!@mikehostetler

http://mike-hostetler.comhttp://learn.appendto.com

Links: http://bitly.com/neWK0vRate: http://j.mp/nQgs8V

Wednesday, October 19, 11