SlideShare une entreprise Scribd logo
1  sur  55
Télécharger pour lire hors ligne
jQuery Mobile:
Progressive Enhancement with
HTML5
jQuery Mobile




    jQuery Mobile
and Progressive Enhancement
        with

               or really
                             +JS
              but never



    jQuery Mobile: Progressive Enhancement with HTML5
Who?



                                            Todd Anderson
                                                   Progressively Enhanced from NJ.
                                                        Currently resides in Boston.
                                         Shows displeasure for right-aligned fields.
                                 Took a picture of himself in a kitchen at least once.

                                                                                         kitchenphoto_3421.jpeg




                       Senior Software Engineer
http://infrared5.com



                       todd@custardbelly.com

                       @bustardcelly
 http://twitter.com



                       100% Centaur

                       Author

                                       jQuery Mobile: Progressive Enhancement with HTML5
What?




                 http://jquerymobile.com




• 1.0 Alpha 4.1
• Built on jQuery + jQuery UI* (Widget)
• Cross Platform
• A-grade browser support

           jQuery Mobile: Progressive Enhancement with HTML5
jQM Graded Browser Support




                                         http://jquerymobile.com/gbs/



jQuery Mobile: Progressive Enhancement with HTML5
How?




                 http://jquerymobile.com




• Progressive Enhancement
• HTML5 dataset attribute (data-)
• CSS3 & Themes
• Unobtrusive JavaScript

           jQuery Mobile: Progressive Enhancement with HTML5
Progressive Enhancement:
             Content




              http://www.flickr.com/photos/bamawester/97776370/




jQuery Mobile: Progressive Enhancement with HTML5
Progressive Enhancement:
      Content + Presentation




              http://www.flickr.com/photos/bamawester/97776370/




jQuery Mobile: Progressive Enhancement with HTML5
Progressive Enhancement:
 Content + Presentation + Behavior




              http://www.flickr.com/photos/bamawester/97776370/




                                                                 http://selleckwaterfallsandwich.tumblr.com/




jQuery Mobile: Progressive Enhancement with HTML5
How?!




    data-role



jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile Pages



data-role=”page”
      <!DOCTYPE html>
      <html>
        <head>
             <title>Hello World</title>
             <link rel="stylesheet"
                    href="style/jquery.mobile-1.0a4.1.min.css"
                    />
        </head>
        <body>
             <div data-role=”page”>
                 <p>This is so selleck.</p>
             </div>
        </body>
        <script src="script/jquery-1.6.1.min.js"></script>
        <script src="script/jquery.mobile-1.0a4.1.js"></script>
      </html>




 jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile Pages



                       Page Anatomy                                             required

<!DOCTYPE html>                                                                 optional
<html>
  <head>
       <title>I am sure to mistype something when I show code.</title>
       <link rel="stylesheet" href=”style/jquery.mobile-1.0a4.1.min.css"/>
  </head>
  <body>
       <div data-role=”page”>
          <div data-role=”header”><h3>jQuery Mobile Pages</h3></div>
          <div data-role=”content”>
              <p class=”content-header”>Page Anatomy</p>
          </div>
          <div data-role=”footer”>
              <p class=”footer-right”>jQuery Mobile: ProgEnhan with HTML5</p>
              <img src=”fatc-logo.png” alt=”FATC” />
          </div>
       </div>
  </body>
  <script src="script/jquery-1.6.1.min.js"></script>
  <script src="script/jquery.mobile-1.0a4.1.js"></script>
</html>



                          jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile pages




 page demo



jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile Pages



               Internal vs. External
Internal

href : #anotherpage

multiple internal pages

External

href : anotherpage.html

[data-ajax=”true”] : 1 internal page

[data-ajax=”false”] : multiple internal pages

[rel=”external”] : multiple internal pages

                          jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile pages




pages demo



jQuery Mobile: Progressive Enhancement with HTML5
blah blah mist blah blah hungry blah



                   dialog
                      Messages

i think my presentation is going well!

do you, now?

*sigh* whatʼs happened between us?

you keep complaining about “mist”. itʼs annoying.




         jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile pages




dialog demo



jQuery Mobile: Progressive Enhancement with HTML5
$.mobile                     methods & properties

API
                 • $.mobile.path
configuration     • $.mobile.base
                 • $.mobile.silentScroll()
                 • $.mobile.addResolutionBreakpoints()
                 • $.mobile.activePage
                 • $.mobile.pageLoading()
                 • $.mobile.changePage()




                  jQuery Mobile: Progressive Enhancement with HTML5
$.mobile                                  configuration

API
                 • ns
configuration     • defaultTransition
                 • gradeA()
                 • ajaxEnabled
                 • more...
                  <script src="script/jquery-1.5.2.min.js"></script>
                  <script type="text/javascript">
                      (function( $, document ) {
                          $(document).bind( "mobileinit", function() {
                              $(document).unbind( "mobileinit");
                              $.extend( $.mobile, {
                                  ns: “custom-"
                              });
                          })
                      })( jQuery, document );
                  </script>
                  <script src="script/jquery.mobile-1.0a4.1.min.js"></script>


                          * custom namespace requires change to .ui-mobile in css



                  jQuery Mobile: Progressive Enhancement with HTML5
.jqmData()



            data access
jQuery

$(elem).data( key );

$(elem).data( key, value );

jQuery Mobile

$(elem).jqmData( key );

$(elem).jqmData( key, value );



$(page).find(“div:jqmData(role=ʼcontentʼ)”);


           jQuery Mobile: Progressive Enhancement with HTML5
itʼs our time, down here.



             real world


$(50).find(“:jqmData(hideout=ʻfratelliʼ)”);




          jQuery Mobile: Progressive Enhancement with HTML5
this is so sandwich right now



                  UI Widgets

button

controlgroup

navbar

toolbars

form elements

list

                jQuery Mobile: Progressive Enhancement with HTML5
buttons and such



                    data-role=”button”
                      <a href=”#stop” data-role=”button”>no whammy!</a>




                                <button>
       <button type=”submit” name=”submit” value=”submit-stop”>no whammy!</button>


data-icon

       rate
 data-icon=”star”


data-iconpos

      swim                     waddle
data-iconpos=”left”     data-iconpos=”right”    data-iconpos=”notext”


                          jQuery Mobile: Progressive Enhancement with HTML5
jQM button group layout: inline



                   organization
• data-inline
 true
          eep              quack                  ow

 false [default]

          eep

        quack

          ow



                   jQuery Mobile: Progressive Enhancement with HTML5
jQM button group layout: controlgroup



                        organization
• data-inline
• data-role=”controlgroup”
  • data-type
 vertical [default]                         horizontal

        home                     home       favorites     settings
      favorites
       settings




                       jQuery Mobile: Progressive Enhancement with HTML5
jQM button group layout: ui-grid



            organization
• data-inline
• data-role=”controlgroup”
  • data-type
• data-role
  • ui-grid-[a to d]
  • ui-block-[a to d]
             home       favorites     settings



            jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile buttons!




button demo



jQuery Mobile: Progressive Enhancement with HTML5
jQM button group layout: navbar



            organization
• data-inline
• data-role=”controlgroup”
  • data-type
• data-role
  • ui-grid-[a to d]
  • ui-block-[a to d]
• data-role=”navbar”
            jQuery Mobile: Progressive Enhancement with HTML5
jQM button navbah



          data-role=”navbar”
• data-grid                       <div data-role="navbar" data-grid="b">
                                    <ul>
                                      <li><a href="#">home</a></li>

  • column count                      <li><a href="#">settings</a></li>
                                      <li><a href="#">favorite</a></li>

  • a(2) - d(5)                     </ul>
                                  </div>




    car                   mayor                            soda

     $(“div:jqmData(role=ʼnavbarʼ)”).bostonize();

    cah                   mayah                            tonic

             jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile buttons!




navbar demo



jQuery Mobile: Progressive Enhancement with HTML5
lost password?




        forms!



jQuery Mobile: Progressive Enhancement with HTML5
form markup and makeup




                                 forms
• declaration
 <form id=”myform” action=”login.php” method=”post”>
   ...
 </form>


• content
 <label for="name">Username:</label>
 <input type="text" name="name" id="name" value="" />



• event
 $(“myform”).bind( “submit”, function( event ) {
   ...
 });




                     jQuery Mobile: Progressive Enhancement with HTML5
demo




form demo: jQM docs
http://jquerymobile.com/demos/1.0a4/#docs/forms/forms-all.html




           jQuery Mobile: Progressive Enhancement with HTML5
form elements




              form element widgets
             http://jquerymobile.com/demos/1.0a4/docs/forms/docs-forms.html

textinput
$(“input[type=’text’]”).textinput(“disable”);

checkboxradio
$(“#myform”).find(“input”)
            .filter(“[type=’checkbox’], [type=’radio’]”)
            .attr(“checked”, false)
            .checkboxradio(“refresh”);

slider
$("input[type=range]").val(100).slider("refresh");

selectmenu
                                     var myselect = $("select#myselect");
var myselect = $("select#myselect"); myselect[0].selectedIndex = 0;
myselect[0].selectedIndex = 0;       myselect.selectmenu("refresh");
myselect.selectmenu("refresh");


                          jQuery Mobile: Progressive Enhancement with HTML5
native data attributes



                      native*

• provides no enhancement
• data-role=”none”
• data-native-menu=”true”

 * Must be declared on element prior to load of jQuery
 Mobile. Cannot be assigned and refreshed at runtime.

               jQuery Mobile: Progressive Enhancement with HTML5
lists




data-role=”listview”



   jQuery Mobile: Progressive Enhancement with HTML5
jQM item renderers



                  list item renderers


no extra data-roles!

inspects the children declaration within a list item (<li>)

icon list item renderers, split button lists

easy to create own custom list item renderers

look sorta like this by default

                          jQuery Mobile: Progressive Enhancement with HTML5
jQuery Mobile lists




   lists demo



jQuery Mobile: Progressive Enhancement with HTML5
themes



                 themes
• jQM provides 5 color swatch schemes
  • -a through -e; allows up to 26

• DO NOT DOUBLE-UP WRAP-AROUND!
  • eg. ui-bar-aa


           jQuery Mobile: Progressive Enhancement with HTML5
themes



       beyond color swatches
• valencia
 http://jquerymobile.com/test/themes/valencia/




• ThemeRoller
 http://jqueryui.com/themeroller/




                      jQuery Mobile: Progressive Enhancement with HTML5
accessibility



                          WAI-ARIA
                        http://www.w3.org/WAI/intro/aria.php


• Roles, States and Properties
• Keyboard navigation with tabIndex
• Live Regions for dynamic content

 Introduction to WAI ARIA
 Gez Lemon, August 1 2008
 http://dev.opera.com/articles/view/introduction-to-wai-aria/




                      jQuery Mobile: Progressive Enhancement with HTML5
accessibility




screen reader demo*

*shamelessly re-presented as seen in a Scott Jehl presentation
  http://dayofjs.com/videos/22152945/jquery-mobile_scott-jehl


           jQuery Mobile: Progressive Enhancement with HTML5
cʼmon already!



      enhancement load

file                                           min-gzip
jquery.min.js                                       31KB
jquery.mobile.min.js                                19KB
jquery.mobile.min.css                                7KB
                                                    57KB




            jQuery Mobile: Progressive Enhancement with HTML5
perception techniques




<head>
    ...
                                     css
    <link rel="stylesheet" href="style/jquery.mobile-1.0a4.1.min.css" />
    <style type="text/css">
        body {
             display: none;
             visibility: hidden;
        }
    </style>
</head>
<body>
...
</body>
<script src="script/jquery-1.6.1.min.js"></script>
<script src="script/jquery.mobile-1.0a4.1.min.js"></script>
<script type="text/javascript">
    function showPage() {
        $("body").css( "visibility", "visible").css( "display", "inherit" );
    }
    $().ready( showPage );
</script>


                                                                          eh...
...




                       jQuery Mobile: Progressive Enhancement with HTML5
perception techniques



                                 LabJS
                                    http://labjs.com/

<html>
    <head>
        <title>labjs</title>
        <link rel="stylesheet" href="style/jquery.mobile-1.0a4.1.min.css" />
    </head>
    <body>
        <p>loading...</p>
    </body>
    <script src="script/LAB.min.js"></script>
    <script>
        $LAB
             .script("script/jquery-1.6.1.min.js")
             .script("script/jquery.mobile-1.0a4.1.min.js").wait( function() {
                 $("body").load("jqm_page.html");
             });
    </script>
</html>


                                                                      better!
                       jQuery Mobile: Progressive Enhancement with HTML5
outta the browser... sorta




     web-app



jQuery Mobile: Progressive Enhancement with HTML5
home




                        home screen
• metadata
 <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-
 scale=1.0; minimum-scale=1.0; user-scalable=false;"/>

 <meta name="apple-mobile-web-app-capable" content="yes" />
 <meta name="apple-mobile-web-app-status-bar-style" content="black" />

http://developer.apple.com/library/safari/#documentation/appleapplications/reference/
                        SafariHTMLRef/Articles/MetaTags.html

• webclips & appearance
 <link   rel="apple-touch-icon" href="touch-icon-iphone.png" />
 <link   rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" />
 <link   rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone4.png" />
 <link   rel="apple-touch-startup-image" href="start-up-image.png" />

http://developer.apple.com/library/safari/#documentation/appleapplications/reference/
    safariwebcontent/configuringwebapplications/configuringwebapplications.html

                       jQuery Mobile: Progressive Enhancement with HTML5
we bapp




web-app demo



jQuery Mobile: Progressive Enhancement with HTML5
jQM home applications



     web-app considerations

                                        higgins!


• use AJAX on change page
  • else will launch the browser
• include Back buttons in header
• use window.navigator.standalone
• cache.manifest
 http://diveintohtml5.org/offline.html


                      jQuery Mobile: Progressive Enhancement with HTML5
native deployment



native (easily)
existing jQM application -> native install




jQuery Mobile: Progressive Enhancement with HTML5
native deployment - PhoneGap




               PhoneGap
                 http://www.phonegap.com/




• project templates
• JS API for native access (limited)
• PhoneGap Build (Beta invite)


            jQuery Mobile: Progressive Enhancement with HTML5
native deployment - Adobe AIR




                        Adobe AIR
           http://labs.adobe.com/technologies/flashplatformruntimes/




• SDK compiler tools
• StageWebView
• JS <--> AS = iffy on device
 Making the most of StageWebView
 Sean Voisen, October 29 2010
 http://voisen.org/blog/2010/10/making-the-most-of-stagewebview/


                    jQuery Mobile: Progressive Enhancement with HTML5
native deployment - others




                            native: others
                            existing jQM application -> native install

NimbleKit
http://www.nimblekit.com/
QuickConnectFamily
http://quickconnectfamily.org/
Titanium*
http://www.appcelerator.com/
Rhodes**
http://rhomobile.com/products/rhodes/

                                                          * in theory, using   ** havenʼt tested
                                                       Titanium.UIWEbView

                            jQuery Mobile: Progressive Enhancement with HTML5
i do like the shirt, though.




              questions?*


* except from you in the blue shirt. 3rd row. you know who you are.


             jQuery Mobile: Progressive Enhancement with HTML5
jquery mobile




                             thank you!
                          todd anderson / todd@custardbelly.com




@bustardcelly
http://github.com/bustardcelly
http://www.custardbelly.com/blog

                         jQuery Mobile: Progressive Enhancement with HTML5

Contenu connexe

Tendances

Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllMarc Grabanski
 
Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web AppsOperation Mobile
 
jQueryMobile Jump Start
jQueryMobile Jump StartjQueryMobile Jump Start
jQueryMobile Jump StartHaim Michael
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobilemowd8574
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012crokitta
 
Quick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery MobileQuick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery MobileJussi Pohjolainen
 
Front-end Rails-приложений приложений, основанный на БЭМ
Front-end Rails-приложений приложений, основанный на БЭМFront-end Rails-приложений приложений, основанный на БЭМ
Front-end Rails-приложений приложений, основанный на БЭМАлександр Ежов
 
Harness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkHarness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkBorisMoore
 
Real World Web components
Real World Web componentsReal World Web components
Real World Web componentsJarrod Overson
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and ModernizrJussi Pohjolainen
 
jQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterprisejQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterpriseDave Artz
 
Index of jquery template 2 Minuteman Summer Web Dev.
Index of jquery template 2 Minuteman Summer Web Dev.Index of jquery template 2 Minuteman Summer Web Dev.
Index of jquery template 2 Minuteman Summer Web Dev.Daniel Downs
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014Mark Rackley
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
 
HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2James Pearce
 
Javascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & TricksJavascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & TricksHjörtur Hilmarsson
 

Tendances (20)

Introduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for AllIntroduction to jQuery Mobile - Web Deliver for All
Introduction to jQuery Mobile - Web Deliver for All
 
Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web Apps
 
jQueryMobile Jump Start
jQueryMobile Jump StartjQueryMobile Jump Start
jQueryMobile Jump Start
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
 
Quick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery MobileQuick Intro to JQuery and JQuery Mobile
Quick Intro to JQuery and JQuery Mobile
 
Front-end Rails-приложений приложений, основанный на БЭМ
Front-end Rails-приложений приложений, основанный на БЭМFront-end Rails-приложений приложений, основанный на БЭМ
Front-end Rails-приложений приложений, основанный на БЭМ
 
ActiveDOM
ActiveDOMActiveDOM
ActiveDOM
 
Harness jQuery Templates and Data Link
Harness jQuery Templates and Data LinkHarness jQuery Templates and Data Link
Harness jQuery Templates and Data Link
 
Real World Web components
Real World Web componentsReal World Web components
Real World Web components
 
JQuery
JQueryJQuery
JQuery
 
Short intro to JQuery and Modernizr
Short intro to JQuery and ModernizrShort intro to JQuery and Modernizr
Short intro to JQuery and Modernizr
 
jQuery in the [Aol.] Enterprise
jQuery in the [Aol.] EnterprisejQuery in the [Aol.] Enterprise
jQuery in the [Aol.] Enterprise
 
Client Web
Client WebClient Web
Client Web
 
J query
J queryJ query
J query
 
Index of jquery template 2 Minuteman Summer Web Dev.
Index of jquery template 2 Minuteman Summer Web Dev.Index of jquery template 2 Minuteman Summer Web Dev.
Index of jquery template 2 Minuteman Summer Web Dev.
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014
 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and the dawn of rich mobile web applications pt 2
 
Javascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & TricksJavascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & Tricks
 

En vedette

Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기JungHyuk Kwon
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppSt. Petersburg College
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery FundamentalsGil Fink
 
jQuery & jQuery Mobile
jQuery & jQuery MobilejQuery & jQuery Mobile
jQuery & jQuery MobileMohammad Raju
 
AngularJS SEO with Prerender.io
AngularJS SEO with  Prerender.ioAngularJS SEO with  Prerender.io
AngularJS SEO with Prerender.ioMozammel Haque
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech QuotientTarence DSouza
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentAvner Solomon
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynotedmethvin
 
HTML5 JavaScript APIs
HTML5 JavaScript APIsHTML5 JavaScript APIs
HTML5 JavaScript APIsRemy Sharp
 
하이브리드 앱 개발 개요
하이브리드 앱 개발 개요하이브리드 앱 개발 개요
하이브리드 앱 개발 개요Sohee Jeong
 
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기위키북스
 
HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기정현 황
 

En vedette (20)

Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Jquerymobile ppt
Jquerymobile pptJquerymobile ppt
Jquerymobile ppt
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile AppBest Practices in Mobile Development: Building Your First jQuery Mobile App
Best Practices in Mobile Development: Building Your First jQuery Mobile App
 
Selectores css
Selectores cssSelectores css
Selectores css
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
jQuery & jQuery Mobile
jQuery & jQuery MobilejQuery & jQuery Mobile
jQuery & jQuery Mobile
 
AngularJS SEO with Prerender.io
AngularJS SEO with  Prerender.ioAngularJS SEO with  Prerender.io
AngularJS SEO with Prerender.io
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech Quotient
 
Plugins
PluginsPlugins
Plugins
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Unit testing
Unit testingUnit testing
Unit testing
 
Impact of Open Source
Impact of Open SourceImpact of Open Source
Impact of Open Source
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
 
HTML5 JavaScript APIs
HTML5 JavaScript APIsHTML5 JavaScript APIs
HTML5 JavaScript APIs
 
하이브리드 앱 개발 개요
하이브리드 앱 개발 개요하이브리드 앱 개발 개요
하이브리드 앱 개발 개요
 
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
 
HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기HTML5를 활용한 하이브리드 앱개발하기
HTML5를 활용한 하이브리드 앱개발하기
 

Similaire à jQuery Mobile: Progressive Enhancement with HTML5

Mume JQueryMobile Intro
Mume JQueryMobile IntroMume JQueryMobile Intro
Mume JQueryMobile IntroGonzalo Parra
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5Ron Reiter
 
20111014 mu me_j_querymobile
20111014 mu me_j_querymobile20111014 mu me_j_querymobile
20111014 mu me_j_querymobileErik Duval
 
jQuery Mobile and JavaScript
jQuery Mobile and JavaScriptjQuery Mobile and JavaScript
jQuery Mobile and JavaScriptGary Yeh
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do MoreRemy Sharp
 
jQuery Loves Developers - Oredev 2009
jQuery Loves Developers - Oredev 2009jQuery Loves Developers - Oredev 2009
jQuery Loves Developers - Oredev 2009Remy Sharp
 
a-blog cms 勉強会 NAGOYA 20110718
a-blog cms 勉強会 NAGOYA 20110718a-blog cms 勉強会 NAGOYA 20110718
a-blog cms 勉強会 NAGOYA 20110718Ayumu Sato
 
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD CombinationLotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD CombinationSean Burgess
 
Jquery mobile book review
Jquery mobile book reviewJquery mobile book review
Jquery mobile book reviewIslam AlZatary
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
 
jQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda KatzjQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda KatzMarakana Inc.
 
Cross-platform development in the context of mobile web
Cross-platform development in the context of mobile webCross-platform development in the context of mobile web
Cross-platform development in the context of mobile webMisha Reyzlin
 
Toutch Jquery Mobile
Toutch Jquery MobileToutch Jquery Mobile
Toutch Jquery MobileJinlong He
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoRob Bontekoe
 
D2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerD2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerWO Community
 
A Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery MobileA Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery MobileDan Pickett
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Adam Lu
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 

Similaire à jQuery Mobile: Progressive Enhancement with HTML5 (20)

Mume JQueryMobile Intro
Mume JQueryMobile IntroMume JQueryMobile Intro
Mume JQueryMobile Intro
 
Multi screen HTML5
Multi screen HTML5Multi screen HTML5
Multi screen HTML5
 
20111014 mu me_j_querymobile
20111014 mu me_j_querymobile20111014 mu me_j_querymobile
20111014 mu me_j_querymobile
 
jQuery Mobile and JavaScript
jQuery Mobile and JavaScriptjQuery Mobile and JavaScript
jQuery Mobile and JavaScript
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do More
 
jQuery Loves Developers - Oredev 2009
jQuery Loves Developers - Oredev 2009jQuery Loves Developers - Oredev 2009
jQuery Loves Developers - Oredev 2009
 
a-blog cms 勉強会 NAGOYA 20110718
a-blog cms 勉強会 NAGOYA 20110718a-blog cms 勉強会 NAGOYA 20110718
a-blog cms 勉強会 NAGOYA 20110718
 
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD CombinationLotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
 
Jquery mobile book review
Jquery mobile book reviewJquery mobile book review
Jquery mobile book review
 
jQuery UI and Plugins
jQuery UI and PluginsjQuery UI and Plugins
jQuery UI and Plugins
 
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)
 
jQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda KatzjQuery State of the Union - Yehuda Katz
jQuery State of the Union - Yehuda Katz
 
Cross-platform development in the context of mobile web
Cross-platform development in the context of mobile webCross-platform development in the context of mobile web
Cross-platform development in the context of mobile web
 
Toutch Jquery Mobile
Toutch Jquery MobileToutch Jquery Mobile
Toutch Jquery Mobile
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
D2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerD2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRoller
 
A Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery MobileA Brief Introduction to JQuery Mobile
A Brief Introduction to JQuery Mobile
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

jQuery Mobile: Progressive Enhancement with HTML5

  • 2. jQuery Mobile jQuery Mobile and Progressive Enhancement with or really +JS but never jQuery Mobile: Progressive Enhancement with HTML5
  • 3. Who? Todd Anderson Progressively Enhanced from NJ. Currently resides in Boston. Shows displeasure for right-aligned fields. Took a picture of himself in a kitchen at least once. kitchenphoto_3421.jpeg Senior Software Engineer http://infrared5.com todd@custardbelly.com @bustardcelly http://twitter.com 100% Centaur Author jQuery Mobile: Progressive Enhancement with HTML5
  • 4. What? http://jquerymobile.com • 1.0 Alpha 4.1 • Built on jQuery + jQuery UI* (Widget) • Cross Platform • A-grade browser support jQuery Mobile: Progressive Enhancement with HTML5
  • 5. jQM Graded Browser Support http://jquerymobile.com/gbs/ jQuery Mobile: Progressive Enhancement with HTML5
  • 6. How? http://jquerymobile.com • Progressive Enhancement • HTML5 dataset attribute (data-) • CSS3 & Themes • Unobtrusive JavaScript jQuery Mobile: Progressive Enhancement with HTML5
  • 7. Progressive Enhancement: Content http://www.flickr.com/photos/bamawester/97776370/ jQuery Mobile: Progressive Enhancement with HTML5
  • 8. Progressive Enhancement: Content + Presentation http://www.flickr.com/photos/bamawester/97776370/ jQuery Mobile: Progressive Enhancement with HTML5
  • 9. Progressive Enhancement: Content + Presentation + Behavior http://www.flickr.com/photos/bamawester/97776370/ http://selleckwaterfallsandwich.tumblr.com/ jQuery Mobile: Progressive Enhancement with HTML5
  • 10. How?! data-role jQuery Mobile: Progressive Enhancement with HTML5
  • 11. jQuery Mobile Pages data-role=”page” <!DOCTYPE html> <html> <head> <title>Hello World</title> <link rel="stylesheet" href="style/jquery.mobile-1.0a4.1.min.css" /> </head> <body> <div data-role=”page”> <p>This is so selleck.</p> </div> </body> <script src="script/jquery-1.6.1.min.js"></script> <script src="script/jquery.mobile-1.0a4.1.js"></script> </html> jQuery Mobile: Progressive Enhancement with HTML5
  • 12. jQuery Mobile Pages Page Anatomy required <!DOCTYPE html> optional <html> <head> <title>I am sure to mistype something when I show code.</title> <link rel="stylesheet" href=”style/jquery.mobile-1.0a4.1.min.css"/> </head> <body> <div data-role=”page”> <div data-role=”header”><h3>jQuery Mobile Pages</h3></div> <div data-role=”content”> <p class=”content-header”>Page Anatomy</p> </div> <div data-role=”footer”> <p class=”footer-right”>jQuery Mobile: ProgEnhan with HTML5</p> <img src=”fatc-logo.png” alt=”FATC” /> </div> </div> </body> <script src="script/jquery-1.6.1.min.js"></script> <script src="script/jquery.mobile-1.0a4.1.js"></script> </html> jQuery Mobile: Progressive Enhancement with HTML5
  • 13. jQuery Mobile pages page demo jQuery Mobile: Progressive Enhancement with HTML5
  • 14. jQuery Mobile Pages Internal vs. External Internal href : #anotherpage multiple internal pages External href : anotherpage.html [data-ajax=”true”] : 1 internal page [data-ajax=”false”] : multiple internal pages [rel=”external”] : multiple internal pages jQuery Mobile: Progressive Enhancement with HTML5
  • 15. jQuery Mobile pages pages demo jQuery Mobile: Progressive Enhancement with HTML5
  • 16. blah blah mist blah blah hungry blah dialog Messages i think my presentation is going well! do you, now? *sigh* whatʼs happened between us? you keep complaining about “mist”. itʼs annoying. jQuery Mobile: Progressive Enhancement with HTML5
  • 17. jQuery Mobile pages dialog demo jQuery Mobile: Progressive Enhancement with HTML5
  • 18. $.mobile methods & properties API • $.mobile.path configuration • $.mobile.base • $.mobile.silentScroll() • $.mobile.addResolutionBreakpoints() • $.mobile.activePage • $.mobile.pageLoading() • $.mobile.changePage() jQuery Mobile: Progressive Enhancement with HTML5
  • 19. $.mobile configuration API • ns configuration • defaultTransition • gradeA() • ajaxEnabled • more... <script src="script/jquery-1.5.2.min.js"></script> <script type="text/javascript"> (function( $, document ) { $(document).bind( "mobileinit", function() { $(document).unbind( "mobileinit"); $.extend( $.mobile, { ns: “custom-" }); }) })( jQuery, document ); </script> <script src="script/jquery.mobile-1.0a4.1.min.js"></script> * custom namespace requires change to .ui-mobile in css jQuery Mobile: Progressive Enhancement with HTML5
  • 20. .jqmData() data access jQuery $(elem).data( key ); $(elem).data( key, value ); jQuery Mobile $(elem).jqmData( key ); $(elem).jqmData( key, value ); $(page).find(“div:jqmData(role=ʼcontentʼ)”); jQuery Mobile: Progressive Enhancement with HTML5
  • 21. itʼs our time, down here. real world $(50).find(“:jqmData(hideout=ʻfratelliʼ)”); jQuery Mobile: Progressive Enhancement with HTML5
  • 22. this is so sandwich right now UI Widgets button controlgroup navbar toolbars form elements list jQuery Mobile: Progressive Enhancement with HTML5
  • 23. buttons and such data-role=”button” <a href=”#stop” data-role=”button”>no whammy!</a> <button> <button type=”submit” name=”submit” value=”submit-stop”>no whammy!</button> data-icon rate data-icon=”star” data-iconpos swim waddle data-iconpos=”left” data-iconpos=”right” data-iconpos=”notext” jQuery Mobile: Progressive Enhancement with HTML5
  • 24. jQM button group layout: inline organization • data-inline true eep quack ow false [default] eep quack ow jQuery Mobile: Progressive Enhancement with HTML5
  • 25. jQM button group layout: controlgroup organization • data-inline • data-role=”controlgroup” • data-type vertical [default] horizontal home home favorites settings favorites settings jQuery Mobile: Progressive Enhancement with HTML5
  • 26. jQM button group layout: ui-grid organization • data-inline • data-role=”controlgroup” • data-type • data-role • ui-grid-[a to d] • ui-block-[a to d] home favorites settings jQuery Mobile: Progressive Enhancement with HTML5
  • 27. jQuery Mobile buttons! button demo jQuery Mobile: Progressive Enhancement with HTML5
  • 28. jQM button group layout: navbar organization • data-inline • data-role=”controlgroup” • data-type • data-role • ui-grid-[a to d] • ui-block-[a to d] • data-role=”navbar” jQuery Mobile: Progressive Enhancement with HTML5
  • 29. jQM button navbah data-role=”navbar” • data-grid <div data-role="navbar" data-grid="b"> <ul> <li><a href="#">home</a></li> • column count <li><a href="#">settings</a></li> <li><a href="#">favorite</a></li> • a(2) - d(5) </ul> </div> car mayor soda $(“div:jqmData(role=ʼnavbarʼ)”).bostonize(); cah mayah tonic jQuery Mobile: Progressive Enhancement with HTML5
  • 30. jQuery Mobile buttons! navbar demo jQuery Mobile: Progressive Enhancement with HTML5
  • 31. lost password? forms! jQuery Mobile: Progressive Enhancement with HTML5
  • 32. form markup and makeup forms • declaration <form id=”myform” action=”login.php” method=”post”> ... </form> • content <label for="name">Username:</label> <input type="text" name="name" id="name" value="" /> • event $(“myform”).bind( “submit”, function( event ) { ... }); jQuery Mobile: Progressive Enhancement with HTML5
  • 33. demo form demo: jQM docs http://jquerymobile.com/demos/1.0a4/#docs/forms/forms-all.html jQuery Mobile: Progressive Enhancement with HTML5
  • 34. form elements form element widgets http://jquerymobile.com/demos/1.0a4/docs/forms/docs-forms.html textinput $(“input[type=’text’]”).textinput(“disable”); checkboxradio $(“#myform”).find(“input”) .filter(“[type=’checkbox’], [type=’radio’]”) .attr(“checked”, false) .checkboxradio(“refresh”); slider $("input[type=range]").val(100).slider("refresh"); selectmenu var myselect = $("select#myselect"); var myselect = $("select#myselect"); myselect[0].selectedIndex = 0; myselect[0].selectedIndex = 0; myselect.selectmenu("refresh"); myselect.selectmenu("refresh"); jQuery Mobile: Progressive Enhancement with HTML5
  • 35. native data attributes native* • provides no enhancement • data-role=”none” • data-native-menu=”true” * Must be declared on element prior to load of jQuery Mobile. Cannot be assigned and refreshed at runtime. jQuery Mobile: Progressive Enhancement with HTML5
  • 36. lists data-role=”listview” jQuery Mobile: Progressive Enhancement with HTML5
  • 37. jQM item renderers list item renderers no extra data-roles! inspects the children declaration within a list item (<li>) icon list item renderers, split button lists easy to create own custom list item renderers look sorta like this by default jQuery Mobile: Progressive Enhancement with HTML5
  • 38. jQuery Mobile lists lists demo jQuery Mobile: Progressive Enhancement with HTML5
  • 39. themes themes • jQM provides 5 color swatch schemes • -a through -e; allows up to 26 • DO NOT DOUBLE-UP WRAP-AROUND! • eg. ui-bar-aa jQuery Mobile: Progressive Enhancement with HTML5
  • 40. themes beyond color swatches • valencia http://jquerymobile.com/test/themes/valencia/ • ThemeRoller http://jqueryui.com/themeroller/ jQuery Mobile: Progressive Enhancement with HTML5
  • 41. accessibility WAI-ARIA http://www.w3.org/WAI/intro/aria.php • Roles, States and Properties • Keyboard navigation with tabIndex • Live Regions for dynamic content Introduction to WAI ARIA Gez Lemon, August 1 2008 http://dev.opera.com/articles/view/introduction-to-wai-aria/ jQuery Mobile: Progressive Enhancement with HTML5
  • 42. accessibility screen reader demo* *shamelessly re-presented as seen in a Scott Jehl presentation http://dayofjs.com/videos/22152945/jquery-mobile_scott-jehl jQuery Mobile: Progressive Enhancement with HTML5
  • 43. cʼmon already! enhancement load file min-gzip jquery.min.js 31KB jquery.mobile.min.js 19KB jquery.mobile.min.css 7KB 57KB jQuery Mobile: Progressive Enhancement with HTML5
  • 44. perception techniques <head> ... css <link rel="stylesheet" href="style/jquery.mobile-1.0a4.1.min.css" /> <style type="text/css"> body { display: none; visibility: hidden; } </style> </head> <body> ... </body> <script src="script/jquery-1.6.1.min.js"></script> <script src="script/jquery.mobile-1.0a4.1.min.js"></script> <script type="text/javascript"> function showPage() { $("body").css( "visibility", "visible").css( "display", "inherit" ); } $().ready( showPage ); </script> eh... ... jQuery Mobile: Progressive Enhancement with HTML5
  • 45. perception techniques LabJS http://labjs.com/ <html> <head> <title>labjs</title> <link rel="stylesheet" href="style/jquery.mobile-1.0a4.1.min.css" /> </head> <body> <p>loading...</p> </body> <script src="script/LAB.min.js"></script> <script> $LAB .script("script/jquery-1.6.1.min.js") .script("script/jquery.mobile-1.0a4.1.min.js").wait( function() { $("body").load("jqm_page.html"); }); </script> </html> better! jQuery Mobile: Progressive Enhancement with HTML5
  • 46. outta the browser... sorta web-app jQuery Mobile: Progressive Enhancement with HTML5
  • 47. home home screen • metadata <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum- scale=1.0; minimum-scale=1.0; user-scalable=false;"/> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> http://developer.apple.com/library/safari/#documentation/appleapplications/reference/ SafariHTMLRef/Articles/MetaTags.html • webclips & appearance <link rel="apple-touch-icon" href="touch-icon-iphone.png" /> <link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad.png" /> <link rel="apple-touch-icon" sizes="114x114" href="touch-icon-iphone4.png" /> <link rel="apple-touch-startup-image" href="start-up-image.png" /> http://developer.apple.com/library/safari/#documentation/appleapplications/reference/ safariwebcontent/configuringwebapplications/configuringwebapplications.html jQuery Mobile: Progressive Enhancement with HTML5
  • 48. we bapp web-app demo jQuery Mobile: Progressive Enhancement with HTML5
  • 49. jQM home applications web-app considerations higgins! • use AJAX on change page • else will launch the browser • include Back buttons in header • use window.navigator.standalone • cache.manifest http://diveintohtml5.org/offline.html jQuery Mobile: Progressive Enhancement with HTML5
  • 50. native deployment native (easily) existing jQM application -> native install jQuery Mobile: Progressive Enhancement with HTML5
  • 51. native deployment - PhoneGap PhoneGap http://www.phonegap.com/ • project templates • JS API for native access (limited) • PhoneGap Build (Beta invite) jQuery Mobile: Progressive Enhancement with HTML5
  • 52. native deployment - Adobe AIR Adobe AIR http://labs.adobe.com/technologies/flashplatformruntimes/ • SDK compiler tools • StageWebView • JS <--> AS = iffy on device Making the most of StageWebView Sean Voisen, October 29 2010 http://voisen.org/blog/2010/10/making-the-most-of-stagewebview/ jQuery Mobile: Progressive Enhancement with HTML5
  • 53. native deployment - others native: others existing jQM application -> native install NimbleKit http://www.nimblekit.com/ QuickConnectFamily http://quickconnectfamily.org/ Titanium* http://www.appcelerator.com/ Rhodes** http://rhomobile.com/products/rhodes/ * in theory, using ** havenʼt tested Titanium.UIWEbView jQuery Mobile: Progressive Enhancement with HTML5
  • 54. i do like the shirt, though. questions?* * except from you in the blue shirt. 3rd row. you know who you are. jQuery Mobile: Progressive Enhancement with HTML5
  • 55. jquery mobile thank you! todd anderson / todd@custardbelly.com @bustardcelly http://github.com/bustardcelly http://www.custardbelly.com/blog jQuery Mobile: Progressive Enhancement with HTML5