SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
jQuery Mobile の基礎


オープンソースカンファレンス
   2012 Tokyo/Fall
       09/08
      田中智文
全体アジェンダ

1. jQuery Mobile の基礎
    田中智文

2. jQuery Mobile で作る実用スマフォアプリ
    梶原直人

3. PhoneGap で Web アプリをパッケージング
    岡本隆史
好評発売中!
●   本日の発表者 3 人による著書
●   jQuery Mobile スマートフォンアプリ開発
アジェンダ
●   jQuery Mobile の概要
●   特徴
●   使ってみよう
●   周辺事情
●   まとめ
自己紹介
●   田中智文(たなかともふみ)
    ●   @tanacasino
●   サラリーマン(短パンだけど働いてます)
●   高知 LOVE
    ●   高知 LOVE の人話かけてください
●   主にオープンソースの IaaS と触れ合うお仕事




                           http://cloud.watch.impress.co.jp/docs/column/eucalyptus/

Eucalyptus ではじめるプライベートクラウド構築
jQuery Mobile とは?
●   スマートフォンサイトを開発するためのフレー
    ムワーク
●   簡単にスマフォな UI が作れる!
モバイル界の人気者
●   モバイルフレームワークとプラットフォームに何を使っていま
    すか ?




    参考 eclipse-survey-2012-report-final
    http://www.slideshare.net/IanSkerrett/eclipse-survey-2012-report-
強力なスポンサー
オープンソース!!!
●   GPL2/MIT のデュアルライセンス
    ●   jQuery と同じ
●   Github 上でオープンに開発
    ●   多くの人が開発に参加中
        –

    ●   Issue 管理も github で ( バグ情報は要チェック)
git ポケットリファレンス
●   もはや git なしではオープンソースは満喫でき
    ぬ!?
●   手元に置いておきたい本の決定版!
jQuery Mobile の特徴
スマートフォンに最適な UI
●   PC ブラウザと異なり
    工夫が必要な
    ところを全部お任せ
    ●   文字のサイズ
    ●   ボタンのサイズ
    ●   タッチ操作にはそれな
        りの大きさが必要
    ●   ネイティブアプリのよ
        うな使い心地
クロスプラットフォーム
●   主要なプラットフォームからマ
    イナーまで手広くカバー
    ●   Apple iOS 3.2-5.0
    ●   Android 2.1-2.3
    ●   Android 3.1, 4.0
    ●   Windows Phone 7-7.5
    ●   Blackberry 6.0,7.0
    ●   Palm WebOS
    ●   PC ブラウザ
         –   Chrome
         –   Firefox
         –   Safari        参照 : http://jquerymobile.com/gbs/
異なるプラットフォームでだいたい同じ




  iPhone   Android(HTC)   Windows Phone
とっても簡単に使える!
●   マークアップだけで OK !
     ●   デザインが苦手な人でも安心♪
リンクボタン
    <a href="#" data-role="button"> リンクボタン </a>



                                  jQuery Mobile では
                                  data-XXX といった
                                  HTML5 のカスタムデータ属性を使用


検索テキストボックス
要素によっては自動的に変換
    <input type=”search” id=”s” name=”s” placeholder=” 検索キーワード” />
jQuery Mobile を使ってみよう
基本のテンプレート
<!DOCTYPE html>
<html>
<head>
...
 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css"/>
<link rel="stylesheet" href="css/custom.css"/>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
...
<script src="js/config.js"></script>
 <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
<script src="js/custom.js"></script>
</head>
<body>
  <div data-role="page" id="p-top">
    <div data-role="header">
     <h2> ヘッダタイトル </h2>
    </div>
  <div data-role="content">
    <h2> 本文 </h2>
    <p> こんにちは </p>
  </div>
   <div data-role="footer">
    <h2> フッタです </h2>
  </div>
 </div>
</body>
</html>
jQuery Mobile の読み込み
●   jQuery が必須
    ●   jQuery Mobile と対応するバージョンは要チェック

<head>
...
<link rel="stylesheet"
  href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css"/>
<link rel="stylesheet" href="css/custom.css"/>
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
...
<script src="js/config.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js">
</script>
<script src="js/custom.js"></script>
</head>
基本構造


●   ページ         <div data-role="page" id="p-top">
                 <div data-role="header">
    ●   ヘッダ       <h2> ヘッダタイトル </h2>
                 </div>
    ●   コンテンツ   <div data-role="content">
                 <h2> 本文 </h2>
    ●   フッタ      <p> こんにちは </p>
                </div>
                 <div data-role="footer">
                 <h2> フッタです </h2>
                </div>
                </div>
ボタン


リンクボタン
<a href="#" data-role="button"> リンクボタン </a>


グループ化
<div data-role="controlgroup">
 <a href="#" data-role="button"> りんご </a>
 <a href="#" data-role="button"> みかん </a>
 <a href="#" data-role="button"> ぶどう </a>
</div>


アイコン付き
<a href="#" data-role="button" data-icon="delete">
削除 </a>
アイコン
●   デフォルトで十分なアイコンセット完備




●   独自アイコンも簡単
    CSS でアイコンを定義
    .ui-icon-myicon {
       background-image: url("myicon.png");
    }
    data-icon で定義したアイコンを指定
    <button data-icon="myicon">...</button>
リスト

リストの基本
<ul data-role="listview">
 <li>Java</li>
 <li>C++</li>
 ...
</ul>


独立させる
<ul data-role="listview" data-inset="true">
 ...
</ul>


区切りを入れる (divider)
<ul data-role="listview">
 <li data-role="list-divider"> 静的型付け言語 </li>
 ...
</ul>
高度なリスト

検索フィルター付きリスト
<ul data-role="listview"
    data-inset="true"
    data-filter="true">
 ...
</ul>


入れ子メニュー
<ul data-role="listview">
 <li>
 受信トレイ
 <ul>
  <li><a> メール 1</a></li>
  ...
 </ul>
 </li>
 ...
</ul>
フォーム
 ●   タッチ操作に適したフォーム UI
     ●   フォーム関連の要素は自動的に変換されるものもあり
テキストボックス                                      チェックボックス
<input type=”search” id=”s” name=”s”          <fieldset data-role=”controlgroup”>
      placeholder=” 検索キーワード” />                <input type=”checkbox” id=”a” name=”a”>
                                               <label for=”a”> 雲のクリスタル </label>
                                               <input type=”checkbox” id=”b” name=”b”>
スライダー                                          <label for=”b”> 滝のクリスタル </label>
<input type=”range” min=”0” max=”100”          .....
              data-highlight="true" />        </fieldset>




フリップスイッチ
<select name="s" id="s" data-role="slider">
                                              さらに横並びも可能
 <option value="off">Off</option>
                                              <fieldset data-role=”controlgroup”
 <option value="on">On</option>
                                                        data-type="horizontal">
</select>
                                               ...
                                              </fieldset>
ツールバー

ツールバー
<div data-role="header" data-position="fixed">
 <h1> タイトル </h1>
 <a href="#" data-icon="gear" class="ui-btn-right"> 設定 </a>
</div>
<div data-role="content">
 ...
</div>
<div data-role="footer" data-position="fixed" data-id="footer-id">
 <div data-role="navbar">
   <ul>
     <li><a href="#" data-icon="home" class="ui-btn-active">
      ホーム </a>
     </li>
     <li><a href="#" data-icon="star"> お気に入り </a></li>
     <li><a href="#" data-icon="search"> 検索 </a></li>
   </ul>
 </div>
</div>
画面遷移
●   次の画面を表示する際にはアニメーションを
    使用して切り替え
    ●   ネイティブアプリの使用感
    ●   実際は Ajax で次の画面を読み込んでから表示して
        いる
●   注意事項
    ●   画面遷移に Ajax を使用するので
        –   開発時に Web サーバが必要
             ●   XAMPP などがお手軽
             ●   python -m SimpleHTTPServer
        –   次の画面の head 要素が読み込まれません (CSS/JS 注意 )
気を付けたいポイント
●   重い
    ●   それなりに大きなフレームワークなので
         –   使わない機能をオフにするなど対策は可能(後で)
         –   普通の Web と同じく画像・ JS などはなるべく軽量化しましょう
    ●   アニメーションが重い
         –   種類があっても動かない OS もあり( fallback 有)
    ●   そもそも端末が重い
         –   特に Android2.2 以下は重い場合が多い
●   苦手
    ●   基本は Web なのでゲームや自由なレイアウトは難しい
    ●   凝ったデザインにしたい場合も難しいかも
●   得意
    ● 表示、一覧表示、フォーム入力などが中心のもの
jQuery Mobile の周辺事情
Codiqa
http://www.codiqa.com/
●   D&D で簡単 UI 作成 ! モックアップに最適
ThemeRoller
http://jquerymobile.com/themeroller/
●   jQuery Mobile のテーマ作成ツール
    ●   作ったテーマはダウンロード、共有可能
jQuery Mobile Icon Pack
http://andymatthews.net/code/jQuery-Mobile-Icon-Pack/

 ●   100 種類以上のアイコンが使える
Datebox
http://dev.jtsage.com/jQM-DateBox/
●   jQuery Mobile 用の日付入力補助プラグイン
Download Builder
http://jquerymobile.com/download-builder/
●   必要な機能だけに絞って軽量化
JQuery Mobile の今後
●   1.2 が間もなくリリース!?
    ●   ポップアップなどの新 UI が追加
    ●   Github を見る限り開発も活発
まとめ
●   簡単にスマートフォン向け UI が作れる
    ●   すぐに使えるのでぜひ試して
●   人気・スポンサーから考えても今後の開発も期
    待できる
    ●   周辺ツールも充実
    ●   日本語書籍も充実!!!
●   オープンソースだからプロダクションでも使え
    る
    ●   しっかりコミュティとレポジトリをウォッチしま
        しょう (github)

Weitere ähnliche Inhalte

Was ist angesagt?

Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMiho Nakano
 
jQueryでiTunes Store風スライドショーを作ってみる
jQueryでiTunes Store風スライドショーを作ってみるjQueryでiTunes Store風スライドショーを作ってみる
jQueryでiTunes Store風スライドショーを作ってみるYasuhito Yabe
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンアシアル株式会社
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンアシアル株式会社
 
SVG MANIAX Ver.2 - Mars vanilla
SVG MANIAX Ver.2 -  Mars vanillaSVG MANIAX Ver.2 -  Mars vanilla
SVG MANIAX Ver.2 - Mars vanillaNaoki Matsuda
 
20151206 hamamatsu handson
20151206 hamamatsu handson20151206 hamamatsu handson
20151206 hamamatsu handsonSix Apart
 
2012年8月10日 勉強会
2012年8月10日 勉強会2012年8月10日 勉強会
2012年8月10日 勉強会Rin Yano
 
Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」Hideki Akiba
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2Nishida Kansuke
 
Web development fundamental_v2
Web development fundamental_v2Web development fundamental_v2
Web development fundamental_v2Takuya Kumagai
 
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いiOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いniwatako
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編Kazumich YAMAMOTO
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design OdysseyKenjiro Kubota
 
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法HTML5マークアップの心得と作法
HTML5マークアップの心得と作法Futomi Hatano
 
A-Framで始めるWebAR (Blenderハンズオンの続きver.)
A-Framで始めるWebAR (Blenderハンズオンの続きver.)A-Framで始めるWebAR (Blenderハンズオンの続きver.)
A-Framで始めるWebAR (Blenderハンズオンの続きver.)Takashi Yoshinaga
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャMayu Kimura
 
SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7Naoki Matsuda
 
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 arisu yano
 
Scc2014 :jQueryの仕組みを完璧に理解する
Scc2014 :jQueryの仕組みを完璧に理解するScc2014 :jQueryの仕組みを完璧に理解する
Scc2014 :jQueryの仕組みを完璧に理解するJun Futakawa
 

Was ist angesagt? (20)

Magento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for DesignMagento meet up Tokyo#1 for Design
Magento meet up Tokyo#1 for Design
 
jQueryでiTunes Store風スライドショーを作ってみる
jQueryでiTunes Store風スライドショーを作ってみるjQueryでiTunes Store風スライドショーを作ってみる
jQueryでiTunes Store風スライドショーを作ってみる
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
 
Monaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバンMonaca公式ガイドブック発売記念全国キャラバン
Monaca公式ガイドブック発売記念全国キャラバン
 
SVG MANIAX Ver.2 - Mars vanilla
SVG MANIAX Ver.2 -  Mars vanillaSVG MANIAX Ver.2 -  Mars vanilla
SVG MANIAX Ver.2 - Mars vanilla
 
20151206 hamamatsu handson
20151206 hamamatsu handson20151206 hamamatsu handson
20151206 hamamatsu handson
 
2012年8月10日 勉強会
2012年8月10日 勉強会2012年8月10日 勉強会
2012年8月10日 勉強会
 
Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」Firefox OSアプリ 「ModeView」
Firefox OSアプリ 「ModeView」
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
jQuery Mobile入門
jQuery Mobile入門jQuery Mobile入門
jQuery Mobile入門
 
Web development fundamental_v2
Web development fundamental_v2Web development fundamental_v2
Web development fundamental_v2
 
iOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱いiOS の通信における認証の種類とその取り扱い
iOS の通信における認証の種類とその取り扱い
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
 
HTML5マークアップの心得と作法
HTML5マークアップの心得と作法HTML5マークアップの心得と作法
HTML5マークアップの心得と作法
 
A-Framで始めるWebAR (Blenderハンズオンの続きver.)
A-Framで始めるWebAR (Blenderハンズオンの続きver.)A-Framで始めるWebAR (Blenderハンズオンの続きver.)
A-Framで始めるWebAR (Blenderハンズオンの続きver.)
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
 
SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7
 
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4
 
Scc2014 :jQueryの仕組みを完璧に理解する
Scc2014 :jQueryの仕組みを完璧に理解するScc2014 :jQueryの仕組みを完璧に理解する
Scc2014 :jQueryの仕組みを完璧に理解する
 

Andere mochten auch (8)

CATÁLOGO
CATÁLOGOCATÁLOGO
CATÁLOGO
 
F _12bsp1329_tirthankar saha_visual cv
F _12bsp1329_tirthankar saha_visual cvF _12bsp1329_tirthankar saha_visual cv
F _12bsp1329_tirthankar saha_visual cv
 
Proyecto
ProyectoProyecto
Proyecto
 
Bienvenue chez Cauet
Bienvenue chez CauetBienvenue chez Cauet
Bienvenue chez Cauet
 
סליחה
סליחהסליחה
סליחה
 
Trabajos 3º trimestre
Trabajos 3º trimestreTrabajos 3º trimestre
Trabajos 3º trimestre
 
Sensibilizacion sobre diversidad
Sensibilizacion sobre diversidadSensibilizacion sobre diversidad
Sensibilizacion sobre diversidad
 
Ch39 23
Ch39 23Ch39 23
Ch39 23
 

Ähnlich wie jQuery Mobileの基礎

jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料Nobumasa Ura
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキングTakashi Okamoto
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドTetsuji Hayashi
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインShumpei Shiraishi
 
jQuery Mobileカスタマイズ自由自在
jQuery Mobileカスタマイズ自由自在jQuery Mobileカスタマイズ自由自在
jQuery Mobileカスタマイズ自由自在yoshikawa_t
 
「その他」のUI Framework 3選
「その他」のUI Framework 3選「その他」のUI Framework 3選
「その他」のUI Framework 3選Shumpei Shiraishi
 
jQuery Mobileカスタマイズ自由自在 v1.2
jQuery Mobileカスタマイズ自由自在 v1.2jQuery Mobileカスタマイズ自由自在 v1.2
jQuery Mobileカスタマイズ自由自在 v1.2yoshikawa_t
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】Yasuhito Yabe
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDCNobuhiro Sue
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Nakazawa Yuichi
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on AndroidYuki Anzai
 
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4Nishida Kansuke
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようHiroaki Wakamatsu
 
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法美緒 山下
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Kazunari Hara
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料OCHI Shuji
 

Ähnlich wie jQuery Mobileの基礎 (20)

jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料jQuery Mobile(開発編)勉強会資料
jQuery Mobile(開発編)勉強会資料
 
Jqm20120804 publish
Jqm20120804 publishJqm20120804 publish
Jqm20120804 publish
 
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
jQuery MobileとPhoneGapでスマートフォンアプリ楽々クッキング
 
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイドXPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
XPagesDay2014 A-4 XPages with jQueryMobile BADプラクティスガイド
 
Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発Webに今求められているレベル: HTML5 コントロールを利用した開発
Webに今求められているレベル: HTML5 コントロールを利用した開発
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 
jQuery Mobileカスタマイズ自由自在
jQuery Mobileカスタマイズ自由自在jQuery Mobileカスタマイズ自由自在
jQuery Mobileカスタマイズ自由自在
 
「その他」のUI Framework 3選
「その他」のUI Framework 3選「その他」のUI Framework 3選
「その他」のUI Framework 3選
 
jQuery Mobileカスタマイズ自由自在 v1.2
jQuery Mobileカスタマイズ自由自在 v1.2jQuery Mobileカスタマイズ自由自在 v1.2
jQuery Mobileカスタマイズ自由自在 v1.2
 
JqueryMobile
JqueryMobileJqueryMobile
JqueryMobile
 
レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】レスポンシブWebデザイン【発展編】
レスポンシブWebデザイン【発展編】
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
20111031 MobileWeb at TDC
20111031 MobileWeb at TDC20111031 MobileWeb at TDC
20111031 MobileWeb at TDC
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
Head First XML Layout on Android
Head First XML Layout on AndroidHead First XML Layout on Android
Head First XML Layout on Android
 
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4
 
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
 
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 

Mehr von Takashi Okamoto

RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラムTakashi Okamoto
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化Takashi Okamoto
 
jQuery Mobile で作る" 実用" スマフォアプリ
jQuery Mobile で作る" 実用" スマフォアプリjQuery Mobile で作る" 実用" スマフォアプリ
jQuery Mobile で作る" 実用" スマフォアプリTakashi Okamoto
 
Opsta github-hundson 20120201
Opsta github-hundson 20120201Opsta github-hundson 20120201
Opsta github-hundson 20120201Takashi Okamoto
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Takashi Okamoto
 
Shibuya.trac、DVCSの導入方法のご紹介
Shibuya.trac、DVCSの導入方法のご紹介Shibuya.trac、DVCSの導入方法のご紹介
Shibuya.trac、DVCSの導入方法のご紹介Takashi Okamoto
 
Kanonによるはじめてのアジャイル開発
Kanonによるはじめてのアジャイル開発Kanonによるはじめてのアジャイル開発
Kanonによるはじめてのアジャイル開発Takashi Okamoto
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218Takashi Okamoto
 

Mehr von Takashi Okamoto (9)

RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラム
 
PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化PhoneGapでWebアプリをスマホアプリ化
PhoneGapでWebアプリをスマホアプリ化
 
jQuery Mobile で作る" 実用" スマフォアプリ
jQuery Mobile で作る" 実用" スマフォアプリjQuery Mobile で作る" 実用" スマフォアプリ
jQuery Mobile で作る" 実用" スマフォアプリ
 
Opsta github-hundson 20120201
Opsta github-hundson 20120201Opsta github-hundson 20120201
Opsta github-hundson 20120201
 
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
Kanonってなぁ~に?~楽々Kanonで華麗にお仕事しよう~
 
Shibuya.trac、DVCSの導入方法のご紹介
Shibuya.trac、DVCSの導入方法のご紹介Shibuya.trac、DVCSの導入方法のご紹介
Shibuya.trac、DVCSの導入方法のご紹介
 
Shibuya.tracの紹介
Shibuya.tracの紹介Shibuya.tracの紹介
Shibuya.tracの紹介
 
Kanonによるはじめてのアジャイル開発
Kanonによるはじめてのアジャイル開発Kanonによるはじめてのアジャイル開発
Kanonによるはじめてのアジャイル開発
 
分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218分散バージョン管理システムって何なん 20101218
分散バージョン管理システムって何なん 20101218
 

jQuery Mobileの基礎

  • 2. 全体アジェンダ 1. jQuery Mobile の基礎  田中智文 2. jQuery Mobile で作る実用スマフォアプリ  梶原直人 3. PhoneGap で Web アプリをパッケージング  岡本隆史
  • 3. 好評発売中! ● 本日の発表者 3 人による著書 ● jQuery Mobile スマートフォンアプリ開発
  • 4. アジェンダ ● jQuery Mobile の概要 ● 特徴 ● 使ってみよう ● 周辺事情 ● まとめ
  • 5. 自己紹介 ● 田中智文(たなかともふみ) ● @tanacasino ● サラリーマン(短パンだけど働いてます) ● 高知 LOVE ● 高知 LOVE の人話かけてください ● 主にオープンソースの IaaS と触れ合うお仕事 http://cloud.watch.impress.co.jp/docs/column/eucalyptus/ Eucalyptus ではじめるプライベートクラウド構築
  • 6. jQuery Mobile とは? ● スマートフォンサイトを開発するためのフレー ムワーク ● 簡単にスマフォな UI が作れる!
  • 7. モバイル界の人気者 ● モバイルフレームワークとプラットフォームに何を使っていま すか ? 参考 eclipse-survey-2012-report-final http://www.slideshare.net/IanSkerrett/eclipse-survey-2012-report-
  • 9. オープンソース!!! ● GPL2/MIT のデュアルライセンス ● jQuery と同じ ● Github 上でオープンに開発 ● 多くの人が開発に参加中 – ● Issue 管理も github で ( バグ情報は要チェック)
  • 10. git ポケットリファレンス ● もはや git なしではオープンソースは満喫でき ぬ!? ● 手元に置いておきたい本の決定版!
  • 12. スマートフォンに最適な UI ● PC ブラウザと異なり 工夫が必要な ところを全部お任せ ● 文字のサイズ ● ボタンのサイズ ● タッチ操作にはそれな りの大きさが必要 ● ネイティブアプリのよ うな使い心地
  • 13. クロスプラットフォーム ● 主要なプラットフォームからマ イナーまで手広くカバー ● Apple iOS 3.2-5.0 ● Android 2.1-2.3 ● Android 3.1, 4.0 ● Windows Phone 7-7.5 ● Blackberry 6.0,7.0 ● Palm WebOS ● PC ブラウザ – Chrome – Firefox – Safari 参照 : http://jquerymobile.com/gbs/
  • 15. とっても簡単に使える! ● マークアップだけで OK ! ● デザインが苦手な人でも安心♪ リンクボタン <a href="#" data-role="button"> リンクボタン </a> jQuery Mobile では data-XXX といった HTML5 のカスタムデータ属性を使用 検索テキストボックス 要素によっては自動的に変換 <input type=”search” id=”s” name=”s” placeholder=” 検索キーワード” />
  • 17. 基本のテンプレート <!DOCTYPE html> <html> <head> ... <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css"/> <link rel="stylesheet" href="css/custom.css"/> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> ... <script src="js/config.js"></script> <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script> <script src="js/custom.js"></script> </head> <body> <div data-role="page" id="p-top"> <div data-role="header"> <h2> ヘッダタイトル </h2> </div> <div data-role="content"> <h2> 本文 </h2> <p> こんにちは </p> </div> <div data-role="footer"> <h2> フッタです </h2> </div> </div> </body> </html>
  • 18. jQuery Mobile の読み込み ● jQuery が必須 ● jQuery Mobile と対応するバージョンは要チェック <head> ... <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css"/> <link rel="stylesheet" href="css/custom.css"/> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> ... <script src="js/config.js"></script> <script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"> </script> <script src="js/custom.js"></script> </head>
  • 19. 基本構造 ● ページ <div data-role="page" id="p-top"> <div data-role="header"> ● ヘッダ <h2> ヘッダタイトル </h2> </div> ● コンテンツ <div data-role="content"> <h2> 本文 </h2> ● フッタ <p> こんにちは </p> </div> <div data-role="footer"> <h2> フッタです </h2> </div> </div>
  • 20. ボタン リンクボタン <a href="#" data-role="button"> リンクボタン </a> グループ化 <div data-role="controlgroup"> <a href="#" data-role="button"> りんご </a> <a href="#" data-role="button"> みかん </a> <a href="#" data-role="button"> ぶどう </a> </div> アイコン付き <a href="#" data-role="button" data-icon="delete"> 削除 </a>
  • 21. アイコン ● デフォルトで十分なアイコンセット完備 ● 独自アイコンも簡単 CSS でアイコンを定義 .ui-icon-myicon { background-image: url("myicon.png"); } data-icon で定義したアイコンを指定 <button data-icon="myicon">...</button>
  • 22. リスト リストの基本 <ul data-role="listview"> <li>Java</li> <li>C++</li> ... </ul> 独立させる <ul data-role="listview" data-inset="true"> ... </ul> 区切りを入れる (divider) <ul data-role="listview"> <li data-role="list-divider"> 静的型付け言語 </li> ... </ul>
  • 23. 高度なリスト 検索フィルター付きリスト <ul data-role="listview" data-inset="true" data-filter="true"> ... </ul> 入れ子メニュー <ul data-role="listview"> <li> 受信トレイ <ul> <li><a> メール 1</a></li> ... </ul> </li> ... </ul>
  • 24. フォーム ● タッチ操作に適したフォーム UI ● フォーム関連の要素は自動的に変換されるものもあり テキストボックス チェックボックス <input type=”search” id=”s” name=”s” <fieldset data-role=”controlgroup”> placeholder=” 検索キーワード” /> <input type=”checkbox” id=”a” name=”a”> <label for=”a”> 雲のクリスタル </label> <input type=”checkbox” id=”b” name=”b”> スライダー <label for=”b”> 滝のクリスタル </label> <input type=”range” min=”0” max=”100” ..... data-highlight="true" /> </fieldset> フリップスイッチ <select name="s" id="s" data-role="slider"> さらに横並びも可能 <option value="off">Off</option> <fieldset data-role=”controlgroup” <option value="on">On</option> data-type="horizontal"> </select> ... </fieldset>
  • 25. ツールバー ツールバー <div data-role="header" data-position="fixed"> <h1> タイトル </h1> <a href="#" data-icon="gear" class="ui-btn-right"> 設定 </a> </div> <div data-role="content"> ... </div> <div data-role="footer" data-position="fixed" data-id="footer-id"> <div data-role="navbar"> <ul> <li><a href="#" data-icon="home" class="ui-btn-active"> ホーム </a> </li> <li><a href="#" data-icon="star"> お気に入り </a></li> <li><a href="#" data-icon="search"> 検索 </a></li> </ul> </div> </div>
  • 26. 画面遷移 ● 次の画面を表示する際にはアニメーションを 使用して切り替え ● ネイティブアプリの使用感 ● 実際は Ajax で次の画面を読み込んでから表示して いる ● 注意事項 ● 画面遷移に Ajax を使用するので – 開発時に Web サーバが必要 ● XAMPP などがお手軽 ● python -m SimpleHTTPServer – 次の画面の head 要素が読み込まれません (CSS/JS 注意 )
  • 27. 気を付けたいポイント ● 重い ● それなりに大きなフレームワークなので – 使わない機能をオフにするなど対策は可能(後で) – 普通の Web と同じく画像・ JS などはなるべく軽量化しましょう ● アニメーションが重い – 種類があっても動かない OS もあり( fallback 有) ● そもそも端末が重い – 特に Android2.2 以下は重い場合が多い ● 苦手 ● 基本は Web なのでゲームや自由なレイアウトは難しい ● 凝ったデザインにしたい場合も難しいかも ● 得意 ● 表示、一覧表示、フォーム入力などが中心のもの
  • 29. Codiqa http://www.codiqa.com/ ● D&D で簡単 UI 作成 ! モックアップに最適
  • 30. ThemeRoller http://jquerymobile.com/themeroller/ ● jQuery Mobile のテーマ作成ツール ● 作ったテーマはダウンロード、共有可能
  • 31. jQuery Mobile Icon Pack http://andymatthews.net/code/jQuery-Mobile-Icon-Pack/ ● 100 種類以上のアイコンが使える
  • 32. Datebox http://dev.jtsage.com/jQM-DateBox/ ● jQuery Mobile 用の日付入力補助プラグイン
  • 33. Download Builder http://jquerymobile.com/download-builder/ ● 必要な機能だけに絞って軽量化
  • 34. JQuery Mobile の今後 ● 1.2 が間もなくリリース!? ● ポップアップなどの新 UI が追加 ● Github を見る限り開発も活発
  • 35. まとめ ● 簡単にスマートフォン向け UI が作れる ● すぐに使えるのでぜひ試して ● 人気・スポンサーから考えても今後の開発も期 待できる ● 周辺ツールも充実 ● 日本語書籍も充実!!! ● オープンソースだからプロダクションでも使え る ● しっかりコミュティとレポジトリをウォッチしま しょう (github)