jsrelでlocalstorageを使って 完全オフラインなブラウザアプリ@jsおじさん #2

33
JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ (ちょっとだけラフノートの宣伝) JSオジサン #2 2014年5月29日 ラフノート株式会社 代表 西小倉 宏信

Upload: pandeiro245

Post on 25-May-2015

1.060 views

Category:

Technology


3 download

DESCRIPTION

ここでお話しました…! http://atnd.org/events/50606

TRANSCRIPT

Page 1: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ (ちょっとだけラフノートの宣伝)

J Sオジサン # 2 2014年5月29日 ラフノート株式会社 代表 西小倉 宏信

Page 2: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

自己紹介

Page 3: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

自己紹介 →IT土方歴7年

Page 4: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

いろんなWebサービス作ってきました

Page 5: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

2010年

Page 6: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

とある クライアント様からの

要望

Page 7: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

「Webアプリを作って欲しい」 !

!

Page 8: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

ただし

Page 9: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

オフラインでも 動いて欲しい

Page 10: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

提案@2010年

Page 11: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

提案@2010年

Page 12: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

FlashかSilverlight を経由してファイルに データを保存?

Page 13: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

やめた

Page 14: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

HTML5!?

Page 15: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

localStorage!?

Page 16: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

localStorageは KVSだけどこの仕様で

RDBっぽくなれば使えるかも?

Page 17: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

JSRel

Page 18: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

shinout / jsrel @ github

Page 19: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

JSRelの特徴

1.localStorage、Node、Titaniumで動く 2.同期実行 3.RDB

var result = db.find('table1'); var result2 = db.find(‘table2'); // do something

db.find('table1', function (e, result) { db.find('table2', function (e, result2) { // do something }); });

Page 20: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

AppCache版@2012年

Page 21: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

AppCache

ここに書くと  キャッシュされる

ここに書くと  キャッシュされない

Page 22: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

!

・不安定 ・キャッシュが消えないことがある ・Chromeの自動バージョンアップで   不具合が出た事例 ・初回はネット必要

Page 23: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

完全オフライン版@2013年

Page 24: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

file://

Page 25: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

画像はbase64化 CSS、JSと一緒に全て

1つのhtmlファイルに埋め込み、 File URI scheme

にて動作!

Page 26: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

DEMO

Page 27: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

!

・安定(常にfileそのものを参照) ・USBメモリに入れて配布すれば  終始オフラインで動作!

オンラインの時だけデータ送るとかもできる

Page 28: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

結論

Page 29: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

JSRel便利。 今後も使っていきたいので

皆様starやforkやPullRequest お願いします

https://github.com/shinout/jsrel

Page 30: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

最後にちょっとだけ ラフノート宣伝

Page 31: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

GitHubのWIP PR ワークフローいいですよね

Page 32: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

GitHubの文書版である「ラフノート」はシステム的にWIP形式をサポート

Page 33: JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

ラフノート株式会社 代表 西小倉宏信

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

PC or iPhoneで

「ラフノート」 で検索!