JQuery Mobile について 作成日:2012年10月19 日 作成者:石川. 本課題の目的 スマートフォンのシェアが急増するに伴い、これまでの PC 用の業務ア プリ ケーションをタブレット端末対応させたり、フィーチャフォン用のサ イトをスマ ートフォン対応させたりといったニーズが高まるなどして、スマート.

Slides:



Advertisements
Similar presentations
Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
Advertisements

XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
Jsdo.it と Monaca による端末へ のアプリ導入 5/29 (金)課題 堀江美香.
IT ソリューション塾 講義資料 © ,all rights reserved by NetCommerce & applied marketing モバイル開発.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
自社システムにおける 最適なフレームワーク 2012/06/15. 条件 機能は「自己評価」、「勤務表」、「掲 示板」、「ログイン機能」を想定 使用するフレームワーク等は全て無料で あるが未来があるものを使用する 作るにあたり最適なフレームワーク、ソ フトを提供する 画面は HTML5 で作成することが前提.
0 クイックスタートガイド|管理者編 スマートデバイスのビジネス活用を支援する法人向けファイル共有サービス.
簡易型 Web オーサリン グツールの問題点 Fumi Sonoda as FUMING
WEB デザイン基礎実 験 担当:清水,田代 副手:浦辺,石井 ( 1 日目) NC-2 情報通信基礎実験.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Curlの特徴.
コンピュータウィルス.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ZKプラグインで、Grailsの Viewをリッチに楽しく
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
WagbyR6.5 Update 14 PPT版 更新情報
Webアプリケーション開発の 基本的なポイント
技術トピックス 2014/10.
第11回JavaScriptゼミ セクション8-2 発表者 直江 宗紀.
画像展示サイト“Fragments” 『閲覧しやすさ』と『デザイン性』を両立させた Webデザイン
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
Androidアプリを公開する方法.
【2.12】文字装飾機能内部設計書
WordPressの基礎.
IE5でアプリケーション開発 東日本計算センター 小野 修司.
スマホでも動作する JavaScript製 アドベンチャーゲームの作り方
GoNET ~ Ver 2.3 新機能紹介 ~ ネットワーク接続制御アプライアンス 2013年11月リリース 2013年10月
Hot Pepper for iPod touch
「絵葉書を通じてのハルビンの 街の印象調査」システムUIの iPadアプリ化 谷研究室  飯 祐貴.
上藤紳也 5月間報告.
CSSを利用したWebデザイン 理工学部 情報学科 3回生 喜多 亮輔.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
アプレット (Applet)について.
第1回 HTML5入門.
ケータイキット for Smarty のご紹介
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
Webサイト運営 09fi118 橋倉伶奈 09fi131 本間昂 09fi137 三上早紀.
第1回 JavaScriptゼミ ・ scriptエレメント ・ 記述における諸注意 ・ 古いブラウザへの対応方法
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
ウェブデザイン演習 第一回 オリエンテーション.
基礎プログラミング演習 第1回.
実際にたたいてAPI APIの初歩からプログラムまで使用方法のAtoZ.
Titanium Studioを使った アプリ開発 Vol.1
Androidアプリの作成 07A1069 松永大樹.
第8章 Web技術とセキュリティ   岡本 好未.
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
パソコン並みの性能を持つスマートフォンに関する情報教育
情報工学部 情報工学科 石原研究室 11A1021 重永 実沙希
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
実行時情報に基づく OSカーネルのコンフィグ最小化
ネットショップデザイン入門Ⅰ・ⅡSEO 2013/12/18 Webデザイン入門 SEOの基本.
スマートデバイスのビジネス活用を支援する法人向けファイル共有サービス
すぐできるBOOK -基本設定編-.
売れるためのWEBサイト構築.
Javaによる Webアプリケーション入門 第2回
Webデザイン入門 Expression Web 解説
コンピュータ プレゼンテーション.
すべて読む Microsoft SharePoint ニュース
Pattern Library Project
情報コミュニケーション入門b 第11回 Web入門(2)
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 金子拓磨
動画配信捕捉のためのWEBサーバ構築 06A1058 古江 和栄.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Microsoft SharePoint Online の Web サイトを カスタマイズする方法
JSPの基本 J2EE I (データベース論) 第8回 /
使用する CSS・JavaScrpitも指定
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
Presentation transcript:

jQuery Mobile について 作成日:2012年10月19 日 作成者:石川

本課題の目的 スマートフォンのシェアが急増するに伴い、これまでの PC 用の業務ア プリ ケーションをタブレット端末対応させたり、フィーチャフォン用のサ イトをスマ ートフォン対応させたりといったニーズが高まるなどして、スマート フォン対応 案件も増加してきている。 このようなニーズに対して、以下の課題がある。 スマートフォン毎に仕様が異なる スマートフォンに向けた最適なユーザインターフェースが求められ る 上記を解決する手段の1つとして、『 jQuery Mobile 』に注目し、ス マートフォ ンの開発案件へ適用できるように、最低限の基礎知識を押さえる事を 目的と しています。

jQuery Mobile の概要 jQuery Mobile は、 JavaScript ライブラリ jQuery のプラグインでモバイ ルアプリ ケーション構築のためのフレームワークであり、ネイティブアプリで はなく HTML5 / CSS3 をベースとした Web アプリケーションを対象としてい る。 2010 年 10 月にアルファ版がリリースされた後、細かなバージョンアッ プを経 て、 2011 年 11 月に jQuery Mobile 1.0 正式版が公開されている。 (本課題執筆中に 1.2.0rc3 から リリースとなったが、本課題では バージョ ン を使用している。 ) オープンソースとして開発されており、公式サイトから無料でダウン ロードで きるほか、 CDN (コンテンツデリバリネットワーク)でも配信されて いる。

Web アプリとネイティブアプリとの違い そもそもスマートフォンにおいて Web アプリケーションとネイティブのアプリ ケーション の違いは何なのか? № トピック Web アプリネイティブアプリ 1 インストール作業の有無不要必要 2 クロスプラットフォームの実現可能制限付き可能 3 アプリの公開、非公開の制御可能制限付き可能 4 ビジネスモデル(課金)の自由 度 自由度は高い自由度は低い 5 アプリストアからの導線の期待できないできる 6 アプリストアの課金モデルの利 用 できないできる 7 デバイス機能をフル活用できないできる 8 動作速度の速さ遅い早い 9 オフラインでの動作制限付き可能可能

他のモバイル Web フレームワークの動向 他のモバイル Web フレームワークはどのようなものがあるのか? フレームワーク名バージョ ン 特徴 Sencha Touch1.1/ ・ HTML5 モバイル JavaScript フレームワーク (2 系は 1 系を作り直して性能を向上 ) ・ UI の表示に JavaScript コードの記述が必要 ・ iOS 、 Android などの WebKit ブラウザで動作可能 jQTouch1(beta 4rc) ・ Web アプリを iPhone のネイティブアプリのよう な UI にする jQuery の Plug-in である JavaScript フレー ムワーク ・ UI の表示に JavaScript コード記述は不要 ・ iOS 、 Android などの WebKit ブラウザで動作可能 PhoneGap2.0.0 ・ HTML 、 JavaScript 、 CSS で作られた Web アプリ ケーションをラップしてカメラや GPS などネイ ティブ API を呼び出す ・ iOS 、 Android 、 Window Phone 7 など他多数あり iUi0.4 ( 現在開発中止 ) ・ Web アプリを iPhone のネイティブアプリのよう な UI にする JavaScript ライブラリ ・ UI の表示に JavaScript コード記述は不要

jquery-mobile の特徴 他のモバイル Web フレームワークと比べて、 jquery mobile のメリット/デメ リットは? メリット ・クロスプラットフォームに対応 (Apple IOS 、 Android 、 Android 3.1 、 Android 4.0 、 Windows Phone etc...) ・ JavaScript を直接記述せずにリッチでインタラティブなモバイルサイトが作成可能( HTML5 のカ スタムデータ属性を使用) ・充実な UI コンポーネント デメリット ・完全オリジナルのデザインはできない。大掛かりなカスタマイズが難しい( Themeroller でコンテ ンツの色や背景色は可能だが、ボタンなど形状に関わる変更はできない) ・低スペックデバイスでは動きが遅い

jquery-mobile のライブラリ構成 {contextpath}/ ├css/ │ └jquery.mobile-{version}.css ├js/ │ ├jquery.mobile-{version}.js │ └jquery-{version}.js └html jquery-mobile を構成するライブラリはたった3ファイル!! ・ jquery ⇒ jquery の JS ファイル ・ jquery-mobile ⇒ jquery を使った mobile 用 JS ファイルと CSS ファイル

jquery-mobile の基本構成① </body jquery-mobile を使った画面の基本構成はこれだけ。 jquery 、及び、 jquery-mobile の js 、 css を読み込み。 div タグ (page 部 ) div タグ (header 部 ) div タグ (content 部 ) div タグ (footer 部 ) 必須 任意 必須

jquery-mobile の基本構成② <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> forefrontier title. ヘッダー メインコンテンツ フッター

どのように動いているのか? Google Chrome の Developer Tools で html ソースを確認してみると・・・。

注意① JavaScript の読み込み順序に注意!! 1. jquery ライブラリ 2.その他外部 JavaScript (あれば) 3. jquery mobile 初期化用スクリプト(ユーザ作成) 4. jquery mobile ライブラリ 5.通常の JavaScript (ユーザ作成) 上記以外の順序で読み込みすると正しく動作しない可能性があります。

画面遷移の仕組み jquery-mobile の画面遷移の仕組みはどうなっているのか? sample1.htmlsample2.html

画面遷移の仕組み Ajax 使用時の画面遷移はこうなっている。 ヘッダー1 メインコンテンツ1 次へ フッター1 </body ヘッダー2 メインコンテンツ2 前へ フッター2 </body ① Ajax で 要求 ② data- role=“page2” のみ取得 ③ DOM の body 要素内 に追加 sample1.htmlsample2.html

注意② ソースの記述場所に注意!! 1. jquery mobile の html ソースは data-role の要素の中に記述すること。 ⇒ 2画面以降の画面( DOM )は Ajax で HTML を取得し、画面をレンダリングし ている ため、 data-role=“page” で定義された要素以外は無視される。 2.同様に head 要素内に直接 タグで JavaScript コードは記述しないこと。 ⇒画面リロード(ブックマーク起動)時に JavaScript や CSS の処理が必要とな るため 全てのページに同一の JavaScript ファイル、及び、 CSS ファイルを読み込む ように するのが望ましい。

イベント処理の仕組み jquery-mobile のイベント処理の仕組みはどうなっているのか? (参考: )

注意③ イベント発生の仕組みに注意!! 1. jquery mobile は、 jquery のイベントと混同しないようにすること。 ⇒ jquery で使っていた ${document}.ready 、 ${document}.bind 、 {document}.live など は、 Ajax を使った時に意図しない時に発生しないため使用しない方が良い。 2. Ajax の使用・未使用で、発生しないイベントがあるので注意。 ⇒ Ajax を使用しない場合、外部からのランディングと同じイベント発生となる。 Ajax を使用時は内部的に DOM をキャッシュしているためで、 Ajax を未使用時 や外 部からのランディングでは DOM のキャッシュが利用されず毎回 DOM を構築 している ため。 (例)

パフォーマンスチューニング(問題点) モバイル端末を使用する際、依然として以下の問題を考える必要がある。 ■ 端末の性能の低さ(特に一昔前の端末) ■ ネットワーク帯域が狭い ■ 場所によっては回線が繋がらない

パフォーマンスチューニング(対策) 性能を向上させる対策として、以下の方法がある。 1.通信量の削減 2.クリックレスポンスの向上 3.遅延ロードで必要なデータを取得 4.フォームの遅延ロード 5.スクリプトの遅延ロード 6.画面のプリフェッチ 7. DOM キャッシュの使用 8.アニメーション無効化 9. jquery mobile のエンハンス無効化 (色の意味) 青: jquery mobile 以外でも適用可能。 緑: jquery mobile 固有の対策。

パフォーマンスチューニング(対策) 【通信量の削減】 ライブラリを利用する際、 xxx.js 、 xxx.css に対応した xxx.min.js 、 xxx.min.css を 使用 する。( jquery mobile をダウンロードした際に一緒に付属されている) これらは、コード内のスペースや変数を省略する事で、 js 、 css のサイズを圧縮 してい る。 ユーザが作成した js 、 css についてもツールを利用して圧縮する事も可能。 (ツールによる圧縮) ・ Google Closure Compiler による JavaScript コードの圧縮 ・ YUI Compressor による JavaScript 、 CSS コードの圧縮 (サーバによる圧縮) ・ apache の mod_deflate によるデータ転送時に圧縮

パフォーマンスチューニング(対策) 【 クリックレスポンスの向上】 Android ではブラウザ標準の click イベントをイベント処理を行うと若干もたつく。 jquery mobile の vclick や tap イベントで代用することで反応が早くなる(らし い) 。 【遅延ロードで必要なデータを取得】 大量データや重い画像データを表示する際、時間がかかってもユーザにストレ スを与 えないように、最初に最小限の画面を表示し、必要時に該当データを取得・表 示を行 う遅延ロードを考慮する。 【フォームの遅延ロード】 フォーム内のコンポーネントも遅延ロードを行い必要な時に表示を行う。 なお、コンポーネントを動的に生成して追加した場合、 jquery mobile のスタイ ルが適 用されず通常の html が表示されてしまうので、以下のコードを記述すること。 (例) ${#hoge}.trigger(“create”);

パフォーマンスチューニング(対策) 【 スクリプトの遅延ロード 】 大きなサイズの JavaScript ライブラリを使用する場合、 script タグを利用して全 部読み 込みするよりも、 一旦画面を表示した後、スクリプトを読み込む事でレスポン スがよく なる。 (例) $.getScript(“ function(dta, status) { // 読み込み後の処理 }); 【 画面のプリフェッチ 】 jquery mobile のプリフェッチ機能を利用する事で画面表示している間に次の画 面の データを読み込む事ができる。 (例) 次のページ

パフォーマンスチューニング(対策) 【 DOM キャッシュの使用 】 一度表示した画面の DOM をキャッシュしておき、画面表示時にキャッシュした DOM を 使用できます。 (例) $(document).on(“mobileinit”, function() { $.mobile.page.prototype.options.domCache = true; } 特定の画面のみのキャッシュも可能 (例) なお、 HTML5 から新たに追加されたアプリケーションキャッシュを利用する事 で、ネッ ト環境に繋がっていないでも Web アプリを動作も可能だが、以下の注意点が必 要。 ・動的に HTML が変更されたり、 DB のデータを表示するような画面には不可。 ・更新チェック仕組みを設ける必要がある。

パフォーマンスチューニング(対策) 【アニメーションの無効化】 jquery mobile はデフォルトでアニメーションするように設定されているが、以 下の様に してアニメーションを無効化することで動作を軽くする事も可能。 (例) $.mobile.defaultPageTransition = ‘none’; 【 jquery mobile のエンハンス無効化 】 これを無効化すると jquery mobile を使うメリットが半減しますが・・・。 リッチなコンテンツを捨て、各ブラウザ本来の見た目になるが、フォームのエ ンハンス ( JavaScript による jquery mobile のスタイルの適用)を無効にする事も可能。 (例) $.mobile.ignoreContentEnabled = true;