More Related Content
PDF
HTML5でオフラインWebアプリケーションを作ろう PDF
ASP.NET シングル ページ アプリケーション (SPA) 詳説 PPTX
PDF
Service worker が拓く mobile web の新しいかたち PDF
サーバサイドエンジニアが 1年間まじめにSPAやってみた PDF
オープンソースで始めるオフラインアプリケーション開発入門 PDF
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン PDF
Build insider testingwithvs What's hot
PDF
Swaggerで始めるモデルファーストなAPI開発 PDF
PDF
2016/05/01 Visual Studio with Cordova PDF
Service Workerとの戦い ~ 実装編 ~ #scripty03 PDF
Apiドキュメンテーションツールを使いこなす【api blueprint編】 PDF
Service workerとwebプッシュ通知 PPTX
2016/12/17 ASP.NET フロントエンドタスク入門 PPTX
パララックスでレスポンシブでJ query mobileなサイトのつくりかた PDF
【Camphor ×サイボウズ】selenium勉強会 PDF
PDF
こんなに使える!今どきのAPIドキュメンテーションツール PPTX
PDF
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから PPTX
PPTX
PDF
Isomorphic web development with scala and scala.js PDF
SIROK技術勉強会 #1 「Reactってなんだ?」 PDF
PDF
ウェブアプリケーションのパフォーマンスチューニング Similar to オフラインファーストの思想と実践
PDF
オフラインWebアプリの再到来で今、再び注目されるAPIの本命 ーJavaScript SQL-like database PDF
PPTX
徳丸本に載っていないWebアプリケーションセキュリティ PPT
PDF
Webアプリ開発者のためのHTML5セキュリティ入門 PDF
Chrome Developer Toolsを使いこなそう! PDF
PDF
PPTX
PPTX
PDF
PDF
PDF
PDF
PDF
進化する Web ~ Progressive Web Apps の実装と応用 ~ PDF
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介 PDF
PDF
KEY
非同期処理をちょっとはラクに。Promises:aほか PDF
Offline Drupal with progressive web app More from Shumpei Shiraishi
PPTX
JavaScript使いのためのTypeScript実践入門 PPTX
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門 PPTX
コンセプトのつくりかた - アイデアをかたちにする技術 PDF
WebRTCがビデオ会議市場に与えるインパクトを探る PPTX
PPTX
「1秒でわかる!アパレル業界ハンドブック」を読んで PDF
PPTX
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ PPTX
PPTX
PPTX
6,000人のWeb技術者コミュニティを5年間やってみて学んだこと PPTX
PPTX
PDF
PPT
PPTX
PPTX
PPTX
イラスト日用服飾辞典/三面記事の歴史/健康男 を読んで PPTX
PPTX
オフラインファーストの思想と実践
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
オフライン
スピード
でも使える
ユーザビリティの向上
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
アプリケーションキャッシュ
CACHE MANIFEST
index.html
index.css
index.js
ローカル サーバ
- 21.
アプリケーションキャッシュ
CACHE MANIFEST
index.html
オフラインで index.css
index.js
利用可能
ローカル サーバ
- 22.
- 23.
キャッシュマニフェストの例
CACHE MANIFEST
# v: 201302061503
hello.html
hello.css
hello.js
hello.jpg
NETWORK:
*
<html manifest="site.appcache">
...
</html>
- 24.
アプリケーションキャッシュの
「落とし穴」
通常のHTTPキャッシュも怠らないで!
キャッシュ容量は実装依存
キャッシュは時間がかかる
開発フローを改善しよう
- 25.
- 26.
- 27.
- 28.
Indexed Database API
• ブラウザ組み込みのキー・バリューストア
• WebStorageよりも複雑だが高機能
• RDBのテーブルにあたるものがオブジェクトストア
• JavaScriptオブジェクトをオブジェクトストアに対して
そのまま読み書きできる。
- 29.
Indexed Database API
のコード例
var req = indexedDB.open(DB_NAME, latestVersion);
req.onsuccess = function(event) {
db = req.result;
var tx = db.transaction("FeedStore", "readonly");
var feedEntryStore = tx.objectStore("FeedStore");
var curReq = feedEntryStore.openCursor();
var results = [];
curReq.onsuccess = function() {
var cursor = curReq.result;
if (!cursor) {
return;
}
var entry = cursor.value;
results.push(entry);
cursor.continue(); // カーソルを次に進める
};
};
- 30.
- 31.
File API
• Webアプリからファイルを読み書きする
ためのAPI。
• 以下の3仕様からなる。
– File API・・・ファイルの読み取りや基本的な
インターフェースの定義
– File API:Writer・・・ファイルの書き出し
– File API:Systems and Directories・・・ファ
イルシステムとディレクトリ構造
- 32.
- 33.
- 34.
- 35.
2. ラッパーを通じて
Web APIを呼び出す
button.onclick = function() {
$.get('/memo', function() {...});
};
Ajax呼び出しを直接行わない。
button.onclick = function() {
WebAPI.loadMemo(function() { ... });
};
- 36.
3. 抽象化したオブジェクトを
通じてデータを操作する
button.onclick = function() {
WebAPI.loadMemo(function() { ... });
};
データソースを抽象化する!
button.onclick = function() {
Memo.get(function(memo) { ... });
};
- 37.
User Data Web API
Interface Controller Wrapper
Name:
E-mail:
Submit
データの永続化 データの同期
- 38.
- 39.
- 40.
同期処理の実装は
難しい。
同期処理中にオフラインになったら?
データ変更が衝突したら?
同期量を「必要最小限」に留めるには?
- 41.
- 42.