SlideShare ist ein Scribd-Unternehmen logo
1 von 123
Downloaden Sie, um offline zu lesen
Rapidly Develop Mobile Web
                    Applications with




 @mikehostetler

Wednesday, October 19, 11
Who am I?




 @mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
http://learn.appendto.com




 @mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
Many More ...




 @mikehostetler

Wednesday, October 19, 11
The Mobile Frontier ...




 @mikehostetler

Wednesday, October 19, 11
6.9 Billion People




 @mikehostetler

Wednesday, October 19, 11
Mobile is available to 90%




 @mikehostetler

Wednesday, October 19, 11
5.3 Billion+ Active
                               Subscriptions


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



 @mikehostetler

Wednesday, October 19, 11
7% of US Traffic comes
             from SmartPhones and
                    Tablets

    http://www.comscore.com/Press_Events/Press_Releases/2011/10/
    Smartphones_and_Tablets_Drive_Nearly_7_Percent_of_Total_U.S._Digital_Traffic


 @mikehostetler

Wednesday, October 19, 11
10+ billion
                             by 2013




 @mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
Know Better ... Do Better

                            ?



 @mikehostetler

Wednesday, October 19, 11
The is the web
        People expect it to work everywhere




 @mikehostetler

Wednesday, October 19, 11
The Solution?



 @mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
jQuery Philosophy ...




 @mikehostetler

Wednesday, October 19, 11
Unified System

                            Universal Access

                            Easy Development

 @mikehostetler

Wednesday, October 19, 11
One Codebase - Multiple Platforms




 @mikehostetler

Wednesday, October 19, 11
Desktop Too!




 @mikehostetler

Wednesday, October 19, 11
In <3 with Web Standards




 @mikehostetler

Wednesday, October 19, 11
Built on jQuery Core ...




 @mikehostetler

Wednesday, October 19, 11
Familiar API Style

             It’s just jQuery!

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




 @mikehostetler

Wednesday, October 19, 11
Small Filesize




 @mikehostetler

Wednesday, October 19, 11
Mobile Browser Grades


                            C   Basic HTML


                            B   Enhanced experience without Ajax

                                Full experience with Ajax-based
                            A   animated page transitions.




 @mikehostetler

Wednesday, October 19, 11
Graded
                 Browser
                 Support




 @mikehostetler

Wednesday, October 19, 11
Doesn’t Break the Web




 @mikehostetler

Wednesday, October 19, 11
Unified Experience




 @mikehostetler

Wednesday, October 19, 11
Accessible




 @mikehostetler

Wednesday, October 19, 11
Normalizes Input Paradigms




 @mikehostetler

Wednesday, October 19, 11
Compiles to Native



                            +
                                       =


 @mikehostetler

Wednesday, October 19, 11
The Con’s ...




 @mikehostetler

Wednesday, October 19, 11
Perceived Performance




 @mikehostetler

Wednesday, October 19, 11
Native Look & Feel




                                   vs.




 @mikehostetler

Wednesday, October 19, 11
Device API’s




 @mikehostetler

Wednesday, October 19, 11
Offline Access




                            (           )
 @mikehostetler

Wednesday, October 19, 11
These are hard problems ...




 @mikehostetler

Wednesday, October 19, 11
Choose the right tool ...




 @mikehostetler

Wednesday, October 19, 11
Current Project Status




 @mikehostetler

Wednesday, October 19, 11
Just released jQuery Mobile RC1




 @mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
@mikehostetler

Wednesday, October 19, 11
More at http://jqmgallery.com




 @mikehostetler

Wednesday, October 19, 11
Standard in Adobe CS5.5




 @mikehostetler

Wednesday, October 19, 11
Shipping in Visual Studio Soon ...




 @mikehostetler

Wednesday, October 19, 11
Lets dive in ...




 @mikehostetler

Wednesday, October 19, 11
Download the code




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


                                      or use a CDN ...


 @mikehostetler

Wednesday, October 19, 11
Pages




 @mikehostetler

Wednesday, October 19, 11
Your First Page!
      <!DocType HTML>

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



 @mikehostetler

Wednesday, October 19, 11
Add the <script> tags ...
      <!DocType HTML>
      <html>
        <head>
          ....
          <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/
      jquery.mobile-1.0rc1.min.css" />

              <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

          <script src="http://code.jquery.com/mobile/1.0rc1/
      jquery.mobile-1.0rc1.min.js"></script>

        </head>
          ....
      </html>


 @mikehostetler

Wednesday, October 19, 11
Add the <script> tags ...
      <!DocType HTML>
      <html>
        <head>
          ....
          <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/
      jquery.mobile-1.0rc1.min.css" />

              <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

          <script src="http://code.jquery.com/mobile/1.0rc1/
      jquery.mobile-1.0rc1.min.js"></script>

        </head>
          ....
      </html>


 @mikehostetler

Wednesday, October 19, 11
Add the <script> tags ...
      <!DocType HTML>
      <html>
        <head>
          ....
          <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/
      jquery.mobile-1.0rc1.min.css" />

              <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>

          <script src="http://code.jquery.com/mobile/1.0rc1/
      jquery.mobile-1.0rc1.min.js"></script>

        </head>
          ....
      </html>


 @mikehostetler

Wednesday, October 19, 11
Building your Page
      <body>

           <div data-role=”page”>

                <p>Hello World!</p>

           </div>

      </body>




 @mikehostetler

Wednesday, October 19, 11
The role of data attributes ...
      <body>

           <div data-role=”page”>

                <p>Hello World!</p>

           </div>

      </body>




 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
Lists




 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
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>

 @mikehostetler

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




 @mikehostetler

Wednesday, October 19, 11
More Examples ...




 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
Nested Lists = Drillable Pages




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>

 @mikehostetler

Wednesday, October 19, 11
Filter Bar
      <div data-role=”content”>

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

      </div>




 @mikehostetler

Wednesday, October 19, 11
Adding List Items




 @mikehostetler

Wednesday, October 19, 11
Append, then Refresh!
      $(‘ul#jquery’).

           .append(

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

           ).listview( ‘refresh’ );




 @mikehostetler

Wednesday, October 19, 11
Theming




 @mikehostetler

Wednesday, October 19, 11
Basic Theming
      <div data-role=”page” data-theme=”a”>

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

      </div>




 @mikehostetler

Wednesday, October 19, 11
Side by Side




 @mikehostetler

Wednesday, October 19, 11
ThemeRoller




 @mikehostetler

Wednesday, October 19, 11
Links & Navigation




 @mikehostetler

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




 @mikehostetler

Wednesday, October 19, 11
Internal + Hijax + DOM Injection
           <ul data-role="listview"
                 data-inset="true" data-theme=”e”>   Click!
             <li>
                 <a href=”jquery.html”>
                  jQuery
                 </a>
             </li>
             ...
           </ul>




 @mikehostetler

Wednesday, October 19, 11
Internal + Hijax + DOM Injection




                            /index.html   /jquery.html



 @mikehostetler

Wednesday, October 19, 11
Internal + Hijax + DOM Injection




                            /index.html   /jquery.html



 @mikehostetler

Wednesday, October 19, 11
Internal + Hijax + DOM Injection




            /index.html     /jquery.html



 @mikehostetler

Wednesday, October 19, 11
Transitions




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
Multi-Page & Pre-Fetch




 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
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>

 @mikehostetler

Wednesday, October 19, 11
Forms




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
Optimized for Width Changes




 @mikehostetler

Wednesday, October 19, 11
Progressive Enhancement




 @mikehostetler

Wednesday, October 19, 11
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>



 @mikehostetler

Wednesday, October 19, 11
Text Input Helpers




           ”password”             ”email”        ”tel”

 @mikehostetler

Wednesday, October 19, 11
Text Area’s Grow




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>

 @mikehostetler

Wednesday, October 19, 11
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>

 @mikehostetler

Wednesday, October 19, 11
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>


 @mikehostetler

Wednesday, October 19, 11
Extra’s




 @mikehostetler

Wednesday, October 19, 11
Dialog’s
      <div data-role="content">

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

      </div>




 @mikehostetler

Wednesday, October 19, 11
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>




 @mikehostetler

Wednesday, October 19, 11
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>

 @mikehostetler

Wednesday, October 19, 11
Navbar’s
      <div data-role="page">
        ....
        <div data-role="footer">

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

 @mikehostetler

Wednesday, October 19, 11
Fixed Positioning
      <div data-role="page">

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

      </div>




 @mikehostetler

Wednesday, October 19, 11
Persistent Footer Bar
      <div data-role="footer">

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




 @mikehostetler

Wednesday, October 19, 11
Events




 @mikehostetler

Wednesday, October 19, 11
New Events
   ‣ tap, taphold

   ‣ swipe, swipeleft, swiperight

   ‣ scrollstart, scrollstop

   ‣ orientationchange

   ‣ Page Load: pageloadbefore, pageload, pageloadfailed

   ‣ Page Change: pagechangebefore, pagechange, pagechangefailed

   ‣ Many More!


 @mikehostetler

Wednesday, October 19, 11
Virtual Mouse Events
   ‣ vmouseover

   ‣ vmousedown

   ‣ vmousemove

   ‣ vmouseup

   ‣ vmouseclick - WARNING!

   ‣ vmousecancel




 @mikehostetler

Wednesday, October 19, 11
API Methods




 @mikehostetler

Wednesday, October 19, 11
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 */ }
      );



 @mikehostetler

Wednesday, October 19, 11
Loading Message
      $.mobile.showLoadingMessage()




      $.mobile.hideLoadingMessage()




 @mikehostetler

Wednesday, October 19, 11
The Data Question ...




 @mikehostetler

Wednesday, October 19, 11
Those data- attributes ...
      Don’t use:

      $.data

      Use:

      jqmData()
       and
      jqmRemoveData()




 @mikehostetler

Wednesday, October 19, 11
URL’s & Paths




 @mikehostetler

Wednesday, October 19, 11
URL’s & Paths
      $.mobile.path

      URL: http://jblas:password@mycompany.com:8080/mail/inbox?
      msg=1234&type=unread#msg-content

      obj = {
        domain:             ‘http://jblas:password@mycompany.com:8080’,
        host:               ‘mycompany.com:8080’,
        pathname:           ’/mail/inbox’,
        directory:           ‘/mail/’
      }



 @mikehostetler

Wednesday, October 19, 11
Thanks to the Filament Group!
                            http://filamentgroup.com




 @mikehostetler

Wednesday, October 19, 11
Thanks to the
                            jQuery Mobile Team!



 @mikehostetler

Wednesday, October 19, 11
Thanks to the Sponsors!




 @mikehostetler

Wednesday, October 19, 11
Thank You!
                                     @mikehostetler
                                http://mike-hostetler.com
                            http://learn.appendto.com

                            Links: http://bitly.com/neWK0v
                              Rate: http://j.mp/nQgs8V


 @mikehostetler

Wednesday, October 19, 11

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Kürzlich hochgeladen (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Rapidly Develop Mobile Web Applications with jQuery Mobile

  • 1. Rapidly Develop Mobile Web Applications with @mikehostetler Wednesday, October 19, 11
  • 2. Who am I? @mikehostetler Wednesday, October 19, 11
  • 8. Many More ... @mikehostetler Wednesday, October 19, 11
  • 9. The Mobile Frontier ... @mikehostetler Wednesday, October 19, 11
  • 10. 6.9 Billion People @mikehostetler Wednesday, October 19, 11
  • 11. Mobile is available to 90% @mikehostetler Wednesday, October 19, 11
  • 12. 5.3 Billion+ Active Subscriptions http://www.itu.int/ITU-D/ict/material/FactsFigures2010.pdf @mikehostetler Wednesday, October 19, 11
  • 13. 7% of US Traffic comes from SmartPhones and Tablets http://www.comscore.com/Press_Events/Press_Releases/2011/10/ Smartphones_and_Tablets_Drive_Nearly_7_Percent_of_Total_U.S._Digital_Traffic @mikehostetler Wednesday, October 19, 11
  • 14. 10+ billion by 2013 @mikehostetler Wednesday, October 19, 11
  • 16. Know Better ... Do Better ? @mikehostetler Wednesday, October 19, 11
  • 17. The is the web People expect it to work everywhere @mikehostetler Wednesday, October 19, 11
  • 20. jQuery Philosophy ... @mikehostetler Wednesday, October 19, 11
  • 21. Unified System Universal Access Easy Development @mikehostetler Wednesday, October 19, 11
  • 22. One Codebase - Multiple Platforms @mikehostetler Wednesday, October 19, 11
  • 24. In <3 with Web Standards @mikehostetler Wednesday, October 19, 11
  • 25. Built on jQuery Core ... @mikehostetler Wednesday, October 19, 11
  • 26. Familiar API Style It’s just jQuery! $( document ).delegate( ".city", "click", function ( e ) { $( "#dialog" ).one( "pagehide", function () { $.mobile.changePage( 'cities.php' ); }).dialog( "close" ); }); @mikehostetler Wednesday, October 19, 11
  • 28. Mobile Browser Grades C Basic HTML B Enhanced experience without Ajax Full experience with Ajax-based A animated page transitions. @mikehostetler Wednesday, October 19, 11
  • 29. Graded Browser Support @mikehostetler Wednesday, October 19, 11
  • 30. Doesn’t Break the Web @mikehostetler Wednesday, October 19, 11
  • 33. Normalizes Input Paradigms @mikehostetler Wednesday, October 19, 11
  • 34. Compiles to Native + = @mikehostetler Wednesday, October 19, 11
  • 35. The Con’s ... @mikehostetler Wednesday, October 19, 11
  • 37. Native Look & Feel vs. @mikehostetler Wednesday, October 19, 11
  • 39. Offline Access ( ) @mikehostetler Wednesday, October 19, 11
  • 40. These are hard problems ... @mikehostetler Wednesday, October 19, 11
  • 41. Choose the right tool ... @mikehostetler Wednesday, October 19, 11
  • 42. Current Project Status @mikehostetler Wednesday, October 19, 11
  • 43. Just released jQuery Mobile RC1 @mikehostetler Wednesday, October 19, 11
  • 47. More at http://jqmgallery.com @mikehostetler Wednesday, October 19, 11
  • 48. Standard in Adobe CS5.5 @mikehostetler Wednesday, October 19, 11
  • 49. Shipping in Visual Studio Soon ... @mikehostetler Wednesday, October 19, 11
  • 50. Lets dive in ... @mikehostetler Wednesday, October 19, 11
  • 51. Download the code http://jquerymobile.com/download https://github.com/jquery/jquery-mobile or use a CDN ... @mikehostetler Wednesday, October 19, 11
  • 53. Your First Page! <!DocType HTML> <html> <head> <meta charset=”utf-8”> <title>My first jQuery Mobile Page!</title> </head> <body> .... </body> </html> @mikehostetler Wednesday, October 19, 11
  • 54. Add the <script> tags ... <!DocType HTML> <html> <head> .... <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/ jquery.mobile-1.0rc1.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0rc1/ jquery.mobile-1.0rc1.min.js"></script> </head> .... </html> @mikehostetler Wednesday, October 19, 11
  • 55. Add the <script> tags ... <!DocType HTML> <html> <head> .... <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/ jquery.mobile-1.0rc1.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0rc1/ jquery.mobile-1.0rc1.min.js"></script> </head> .... </html> @mikehostetler Wednesday, October 19, 11
  • 56. Add the <script> tags ... <!DocType HTML> <html> <head> .... <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc1/ jquery.mobile-1.0rc1.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0rc1/ jquery.mobile-1.0rc1.min.js"></script> </head> .... </html> @mikehostetler Wednesday, October 19, 11
  • 57. Building your Page <body> <div data-role=”page”> <p>Hello World!</p> </div> </body> @mikehostetler Wednesday, October 19, 11
  • 58. The role of data attributes ... <body> <div data-role=”page”> <p>Hello World!</p> </div> </body> @mikehostetler Wednesday, October 19, 11
  • 59. 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> @mikehostetler Wednesday, October 19, 11
  • 61. 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> @mikehostetler Wednesday, October 19, 11
  • 62. 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> @mikehostetler Wednesday, October 19, 11
  • 63. 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> @mikehostetler Wednesday, October 19, 11
  • 64. Add Links <ul data-role="listview" data-inset="true"> <li> <a href=”http://jquery.com”> jQuery </a> </li> ... </ul> @mikehostetler Wednesday, October 19, 11
  • 65. More Examples ... @mikehostetler Wednesday, October 19, 11
  • 66. 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> @mikehostetler Wednesday, October 19, 11
  • 67. Nested Lists = Drillable Pages @mikehostetler Wednesday, October 19, 11
  • 68. 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> @mikehostetler Wednesday, October 19, 11
  • 69. 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> @mikehostetler Wednesday, October 19, 11
  • 70. Filter Bar <div data-role=”content”> <h2>Hello World!</h2> <ul data-role="listview" data-filter="true"> .... </ul> </div> @mikehostetler Wednesday, October 19, 11
  • 71. Adding List Items @mikehostetler Wednesday, October 19, 11
  • 72. Append, then Refresh! $(‘ul#jquery’). .append( ‘<li><a href=”http://sizzlejs.com”>Sizzle JS</a></li>’ ).listview( ‘refresh’ ); @mikehostetler Wednesday, October 19, 11
  • 74. Basic Theming <div data-role=”page” data-theme=”a”> <div data-role=”content”> .... </div> </div> @mikehostetler Wednesday, October 19, 11
  • 75. Side by Side @mikehostetler Wednesday, October 19, 11
  • 77. Links & Navigation @mikehostetler Wednesday, October 19, 11
  • 78. External Links <ul data-role="listview" data-inset="true" data-theme=”e”> <li> <a href=”http://jquery.com”> jQuery </a> </li> ... </ul> @mikehostetler Wednesday, October 19, 11
  • 79. Internal + Hijax + DOM Injection <ul data-role="listview" data-inset="true" data-theme=”e”> Click! <li> <a href=”jquery.html”> jQuery </a> </li> ... </ul> @mikehostetler Wednesday, October 19, 11
  • 80. Internal + Hijax + DOM Injection /index.html /jquery.html @mikehostetler Wednesday, October 19, 11
  • 81. Internal + Hijax + DOM Injection /index.html /jquery.html @mikehostetler Wednesday, October 19, 11
  • 82. Internal + Hijax + DOM Injection /index.html /jquery.html @mikehostetler Wednesday, October 19, 11
  • 84. 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> @mikehostetler Wednesday, October 19, 11
  • 85. Multi-Page & Pre-Fetch @mikehostetler Wednesday, October 19, 11
  • 86. 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> @mikehostetler Wednesday, October 19, 11
  • 87. 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> @mikehostetler Wednesday, October 19, 11
  • 89. 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> @mikehostetler Wednesday, October 19, 11
  • 90. 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> @mikehostetler Wednesday, October 19, 11
  • 91. Optimized for Width Changes @mikehostetler Wednesday, October 19, 11
  • 93. 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> @mikehostetler Wednesday, October 19, 11
  • 94. Text Input Helpers ”password” ”email” ”tel” @mikehostetler Wednesday, October 19, 11
  • 95. Text Area’s Grow @mikehostetler Wednesday, October 19, 11
  • 96. 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> @mikehostetler Wednesday, October 19, 11
  • 97. 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> @mikehostetler Wednesday, October 19, 11
  • 98. 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> @mikehostetler Wednesday, October 19, 11
  • 99. 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> @mikehostetler Wednesday, October 19, 11
  • 100. 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> @mikehostetler Wednesday, October 19, 11
  • 101. 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> @mikehostetler Wednesday, October 19, 11
  • 102. 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> @mikehostetler Wednesday, October 19, 11
  • 104. Dialog’s <div data-role="content"> <a href="foo.html" data-rel="dialog">Open dialog</a> </div> @mikehostetler Wednesday, October 19, 11
  • 105. 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> @mikehostetler Wednesday, October 19, 11
  • 106. 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> @mikehostetler Wednesday, October 19, 11
  • 107. Navbar’s <div data-role="page"> .... <div data-role="footer"> <div data-role="navbar"> <ul> <li>Summary</li> ... </ul> </div> </div> </div> @mikehostetler Wednesday, October 19, 11
  • 108. Fixed Positioning <div data-role="page"> <div data-role="header" data-position="fixed"> <h1>Fixed toolbars</h1> </div> </div> @mikehostetler Wednesday, October 19, 11
  • 109. Persistent Footer Bar <div data-role="footer"> <div data-role="navbar" class="ui-state-persist"> <p><a href=”#”>Friends</a></p> </div> </div> @mikehostetler Wednesday, October 19, 11
  • 111. New Events ‣ tap, taphold ‣ swipe, swipeleft, swiperight ‣ scrollstart, scrollstop ‣ orientationchange ‣ Page Load: pageloadbefore, pageload, pageloadfailed ‣ Page Change: pagechangebefore, pagechange, pagechangefailed ‣ Many More! @mikehostetler Wednesday, October 19, 11
  • 112. Virtual Mouse Events ‣ vmouseover ‣ vmousedown ‣ vmousemove ‣ vmouseup ‣ vmouseclick - WARNING! ‣ vmousecancel @mikehostetler Wednesday, October 19, 11
  • 114. 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 */ } ); @mikehostetler Wednesday, October 19, 11
  • 115. Loading Message $.mobile.showLoadingMessage() $.mobile.hideLoadingMessage() @mikehostetler Wednesday, October 19, 11
  • 116. The Data Question ... @mikehostetler Wednesday, October 19, 11
  • 117. Those data- attributes ... Don’t use: $.data Use: jqmData() and jqmRemoveData() @mikehostetler Wednesday, October 19, 11
  • 118. URL’s & Paths @mikehostetler Wednesday, October 19, 11
  • 119. URL’s & Paths $.mobile.path URL: http://jblas:password@mycompany.com:8080/mail/inbox? msg=1234&type=unread#msg-content obj = { domain: ‘http://jblas:password@mycompany.com:8080’, host: ‘mycompany.com:8080’, pathname: ’/mail/inbox’, directory: ‘/mail/’ } @mikehostetler Wednesday, October 19, 11
  • 120. Thanks to the Filament Group! http://filamentgroup.com @mikehostetler Wednesday, October 19, 11
  • 121. Thanks to the jQuery Mobile Team! @mikehostetler Wednesday, October 19, 11
  • 122. Thanks to the Sponsors! @mikehostetler Wednesday, October 19, 11
  • 123. Thank You! @mikehostetler http://mike-hostetler.com http://learn.appendto.com Links: http://bitly.com/neWK0v Rate: http://j.mp/nQgs8V @mikehostetler Wednesday, October 19, 11