När ska man använda
jQuery Mobile?

Av Mattias Kihlström





www.mogul.com

Fråga:

När ska man använda jQuery Mobile?

Svar:

Använd jQuery Mobile när du snabbt vill skapa en fingervänlig och appliknande webbsajt för smarta telefoner med bra internetuppkoppling

Vad är jQuery Mobile?

jQuery Mobile
JavaScriptramverk för att skapa fingeroptimerat GUI för mobila enheter

Byggt ovanpå jQuery
(1.7.0 - 1.8.2)

(jQuery är ett JavaScriptramverk som bland annat ger ett enhetligt sätt att hantera DOM:en i olika webbläsare.)

Senaste stabila versionen är 1.2
(släpptes för ett par veckor sedan)

Öppen källkod
(MIT och GPL 2)

HTML 5 och CSS 3

Bilder för ikoner där det behövs
(en sprite för respektive färg)

AJAX-navigering

Finns flera färdiga teman och man kan bygga sitt eget antingen för hand eller med webbappen ThemeRoller

Klass A-stöd i många olika webbläsare

Hur fungerar jQuery Mobile?

Ange om ett visst element är exempelvis en sida, en menyrad eller en knapp genom att sätta ett dataattribut som kallas role.

Endast en data-role="page" visas åt gången, men man kan ha flera jQuery Mobile-sidor på en HTML-sida.

Kodexempel:


    <div id="page1" data-role="page" data-theme="b">
       <div data-role="header">
          <h1>Page 1</h1>
       </div>
       <div data-role="content">
          Lorem ipsum...
          <a href="#page2"
             data-role="button" data-icon="star"
             data-iconpos="right" data-transition="flip">
             View second page
          </a>
       </div>
    </div>

jQuery Mobile...

... lägger till extra HTML-element

... lägger till klasser

... sätter upp egna händelser (events)

... och så här ser det ut efter att jQuery Mobile gjort sitt:


	<div id="page1" class="ui-page ui-body-b ui-page-active" data-url="page1" data-role="page" data-theme="b">
	  <div role="banner" class="ui-header ui-bar-a" data-role="header">
	    <h1 aria-level="1" role="heading" class="ui-title">Page 1</h1>
	  </div>
	  <div role="main" class="ui-content" data-role="content">
	    Lorem ipsum...
	    <a href="#page2" class="ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-right ui-btn-up-b" data-theme="b"
	      data-wrapperels="span" data-iconshadow="true" data-shadow="true" data-corners="true"
	      data-role="button" data-icon="star" data-iconpos="right" data-transition="flip">
	      <span class="ui-btn-inner ui-btn-corner-all">
	        <span class="ui-btn-text">
	          View second page
	        </span>
	        <span class="ui-icon ui-icon-star ui-icon-shadow">&nbsp;</span>
	      </span>
	    </a>
	  </div>
	</div>

Undvik...

... om bandbredd kan vara ett problem

(Men man kan sätta ihop sin egen version med bara det innehåll man behöver för att minska filstorleken.)

... om upplevelsen ska vara optimal för mobiler av äldre modell

... om designen skiljer sig väsentligt från vad man får på köpet

... om du vill ha fräcka animationer i Android tidigare än version 4

Men...

jQuery Mobile är riktigt trevligt...

... om främsta målgruppen kör iOS 5, iOS 6 eller Android 4

... om användarna har 3G-uppkoppling eller bättre

... om du har ont om tid

... om du tycker om när
"det bara fungerar"

Ett exempel från verkligheten

m.stenaline.se

När ska man använda
jQuery Mobile?

Använd jQuery Mobile när du snabbt vill skapa en fingervänlig och appliknande webbsajt för smarta telefoner med bra internetuppkoppling

Tack!


@kihlstrom

mattias.kihlstrom@mogul.com