第12回HTML5とか勉強会

Next

jQuery Mobile

Toru Yoshikawa

Profile

Next

自己紹介

吉川 徹 / Toru Yoshikawa

HTML5とか勉強会スタッフ

Twitter: yoshikawa_t

Blog: http://d.hatena.ne.jp/pikotea/

Infomation

Next

お知らせ

このプレゼン資料は、jQuery Mobile で作られています。
http://yst.web.infoseek.co.jp/jquerymobile.html

What is jQuery Mobile?

Next

jQuery Mobile とは?

・モバイルサイト構築用のフレームワーク

・10月にAlpha版がリリース

・jQtouch、Sencha Touch に続くモバイルフレームワークの本命

Feature

Next

jQuery Mobile の特徴

Cross Platform

様々なデバイスに対応

Symbian、BlackBerry、iOS、Android、Windows Phone、WebOS などなど

Progressive Enhancement

レガシーなブラウザでは基本的なHTMLを、モダンなブラウザでは優れたUXを提供

Accessibility

WAI-ARIAに対応し、ナビゲーターやスクリーンリーダーに対応

Simplicity

JavaScriptを使わずに、マークアップで簡単に設定

HTML5のカスタムデータ属性を利用

ex) data-role="page"

Small Size

圧縮した状態で13KB

Minified and Gzipped

How to use

Next

jQuery Mobile の使い方

  1. 準備
  2. ページ・ダイアログ
  3. ヘッダー・フッター
  4. フォーム
  5. リスト

Ready

1.準備

ヘッダーでCSS、jQuery、jQuery Mobile を読み込む

<head>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.css" />
    <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0a2/jquery.mobile-1.0a2.min.js"></script>
</head>

Page

2.ページ・ダイアログ

(1)ページ構成

<div id="page-sample" data-role="page">
	<div data-role="header">
		<h1>Header</h1>
	</div>
	<div data-role="content">
		<h1>Body</h1>
	</div>
	<div data-role="footer">
		<h1>Footer</h1>
	</div>
</div>
サンプル

(2)ページ遷移

<a href="#page-sample" data-transition="slide">slide</a>

(3)ダイアログ

<div id="dialog-sample" data-role="dialog">
	<div data-role="header"> 
		<h1>Dialog</h1> 
	</div> 
	<div data-role="content">
		<h1>Realy?</h1>
		<p></p>
		<a href="#" data-role="button" data-theme="b">OK</a>
		<a href="#" data-role="button">Cancel</a>
	</div>
</div>
<a href="#dialog-sample" data-rel="dialog" data-transition="pop">サンプル1</a><br>
サンプル1

Header

Body

Footer

Dialog

Realy?

OK Cancel
Left

Toolbar

Right

3.ヘッダー・フッター

(1)ヘッダー

<header data-role="header">
	<a href="#" data-role="button">Left</a>
	<h1>Toolbar</h1>
	<a href="#" data-role="button">Right</a>
</header>

(2)フッター

<footer data-role="footer">
	<div data-role="navbar">
		<ul>
			<li><a href="#" class="ui-btn-active" data-icon="grid">Summary</a></li>
			<li><a href="#" data-icon="star">Favorit</a></li>
			<li><a href="#" data-icon="gear">Config</a></li>
		</ul>
	</div>
</footer>

Form

4.フォーム

<input type="text">
<input type="search">
<select data-role="slider">
	<option>ON</option>
	<option>OFF</option>
</select>
<input type="range" value="0" min="0" max="100"/>
<input type="checkbox" name="checkbox1" id="checkbox1">
<label for="checkbox1">A</label>
checkbox (normal)
<fieldset data-role="controlgroup" data-type="horizontal"> 
	<legend>checkbox (horizontal group)</legend>
	<input type="checkbox" name="checkbox2" id="checkbox2"/>
	<label for="checkbox2">A</label>
	<input type="checkbox" name="checkbox3" id="checkbox3"/>
	<label for="checkbox3">B</label>
	<input type="checkbox" name="checkbox4" id="checkbox4"/>
	<label for="checkbox4">C</label>
</fieldset>
checkbox (horizontal group)
<fieldset data-role="controlgroup" data-type="vertical"> 
	・・・
</fieldset>
checkbox (vertical group)
<select>
	<option>A</option> 
	<option>B</option> 
	<option>C</option> 
	<option>D</option> 
</select>
radio (vertical group)
<select>
	<option>A</option> 
	<option>B</option> 
	<option>C</option> 
	<option>D</option> 
</select>
<select>
	<option>A</option>
	<option>B</option>
	・・・
	<option>U</option>
</select>

List

5.リスト

(1)Normal

<ul data-role="listview">
	<li>A</li>
	<li>B</li>
	<li>C</li>
</ul>


(2)Divider

<ul data-role="listview">
	<li data-role="list-divider">Title A</li>
	<li>A1</li>
	<li data-role="list-divider">Title B</li>
	<li>B1</li>
	<li>B2</li>
</ul>


(3)Link

<ul data-role="listview">
	<li><a href="#page-sample">A</a></li>
	<li><a href="#page-sample">B</a></li>
	<li><a href="#page-sample">C</a></li>
</ul>


(4)Nest

<ul data-role="listview">
	<li>A
		<ul>
			<li><a href="#page-sample">A1</a></li>
			<li><a href="#page-sample">A2</a></li>
			<li><a href="#page-sample">A3</a></li>
		</ul>
	</li>
	<li>B
		<ul>
			<li><a href="#page-sample">B1</a></li>
			<li><a href="#page-sample">B2</a></li>
			<li><a href="#page-sample">B3</a></li>
		</ul>
	</li>
</ul>



(5)Thumbnail

<ul data-role="listview"> 
	<li> 
		<img src="http://a1.twimg.com/profile_images/775997561/robo_normal.PNG" width="111" height="111">
		<h3><a href="#page-sample">Sample1</a></h3>
		<p>comment</p>
	</li>
	<li> 
		<img src="http://a1.twimg.com/profile_images/775997561/robo_normal.PNG" width="111" height="111">
		<h3><a href="#page-sample">Sample2</a></h3>
		<p>comment</p>
	</li>
	<li> 
		<img src="http://a1.twimg.com/profile_images/775997561/robo_normal.PNG" width="111" height="111">
		<h3><a href="#page-sample">Sample2</a></h3>
		<p>comment</p>
	</li>
</ul>


Message

Next

John Resig氏からの日本の開発者へのメッセージ

日本だけではなく、アメリカやすべての開発者に言えることだけど、自分の周りの環境だけじゃなく、もっと外にも意識を向けて欲しいな!

※超意訳

Future

Next

今後について

・来年1月正式リリース予定!

・Adobe Dreamweaver CS5 の拡張機能でjQuery Mobileをサポート予定!
ドラッグ&ドロップでjQuery Mobileのコンポーネントが配置可能に

Reference

Next

参考資料

jQuery Mobile
http://jquerymobile.com/

jQuery Mobile 1.0a2 Demos and Documentation
http://jquerymobile.com/demos/1.0a2/

jQuery Mobile のリファレンス的なもの
http://d.hatena.ne.jp/pikotea/20101019/1287484040

Testing Mobile JavaScript (Fall 2010
http://www.slideshare.net/jeresig/testing-mobile-javascript-fall-2010

Thank you

Top

ご静聴ありがとうございました