html5 js waffle

24
2010/11/29 第 12 第 – HTML5 第 第第第第 第第第第第第 HTML5 第第第 第第第第第第第第第第第第第第第第第 JSWAFFLE 第第第 http://d.aoikujira.com/jsWaffle

Upload: kujirahand-kujira

Post on 24-May-2015

4.407 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Html5 js waffle

2010/11/29

第 12 回 – HTML5 とか勉強会

クジラ飛行机

HTML5 で作る

スマートフォンのネイティブアプリ開発~ JSWAFFLE の紹介

http://d.aoikujira.com/jsWaffle

Page 2: Html5 js waffle

iPhone のブラウザ → Mobile SafariAndroid のブラウザ → 標準ブラウザいずれも、 WebKit ベースで HTML5 に対応している

( 前提 )IPHONE/ANDROID のブラウザは… .

Page 3: Html5 js waffle

「最近 HTML5 の本を書きました!」(ソシム刊) iPhone/iPad/Android のブラウザは HTML5 対応。

スマートフォンならば、存分に HTML5 に特化したアプリケーションを作ることができる!

HTML5 関連 API やCSS3 について紹介している

( 書籍 ) スマートフォンのためのHTML5 アプリケーション開発ガイド

Page 4: Html5 js waffle

WebKit …オープンソースのHTML レンダリングエンジン・・・これを利用したブラウザがAndroid/iPhone で動いている

ネイティブアプリの開発でも WEBKIT が

利用できないだろうか?

Page 5: Html5 js waffle

素晴らしいことに、 iPhone/Android では、 UI コンポーネントとして、 WebKit ベースのブラウザが利用できるようになっている

自分のアプリに自由にブラウザを組み込むことができる

WEBKIT ベースのブラウザがUI コンポーネントになっている!!

Page 6: Html5 js waffle

HTML5/CSS/JavaScript で作った Web アプリを、ネイティブアプリの中にネイティブアプリの中に押し込むことができるはず!

そう、ブラウザをうまく使えば…

Page 7: Html5 js waffle

“HTML5” でネイティブアプリが作れる!

リソースに、 HTML ファイルを仕込んでおき、アプリが起動したら、すぐ WebKit コンポーネントを全面表示し、HTML ファイルを表示することで、ネイティブアプリのように見せる

Page 8: Html5 js waffle

そうだ!ブラウザコンポーネント

を使ってアプリを作ろう!

Page 9: Html5 js waffle

WebKit コンポーネントを拡張し、 HTML5 でネイティブアプリを作るフレームワークが既にある!

HTML5 でアプリが作れるフレームワーク

Titanium jsWaffle

Page 10: Html5 js waffle

(1) Objective-C や Java を知らなくても作れる!(2)とにかく開発効率が良い!

とりあえず、いつものように、 Web ブラウザと好きなエディタで作っておいて、最後に、ネイティブアプリ変換すれば良い

スマートフォン固有 API が手軽に使える(面倒な手続きも簡略化) 記述するコードも少なくて済む

(3) HTML5 が思う存分使える! ネイティブアプリにしてしまうなら、ブラウザ互換性など、もろもろ面倒な事を考えなくて済む

HTML5/JS でアプリ開発するメリット

Page 11: Html5 js waffle

ネイティブより、実行速度が遅い→ネイティブなのは外見だけで実際はブラウザの中で動かすのと一緒なので仕方がない→とは言え、これは開発効率とのトレードオフ

利用できない API がある→使いたいものがあれば、フレームワークに手を入れる→シンプルなフレームワークならそれほど大変ではない

HTML5/JS でアプリ開発するデメリット

Page 12: Html5 js waffle

シンプル !! GPS/ 加速度センサー /カメラなどスマートフォンの機能を利用する

API が用意されているAndroid 機能に特化MIT ライセンス

JSWAFFLE

Page 13: Html5 js waffle

Desktop(Windows など )/iPhone/Android で動作カメラ /GPS/ 傾き検知などスマートフォンの機能を使う API ありTitanium Developer という専用アプリでプロジェクトを管理有料サポートがある本格的なフレームワーク

ライセンスは Apache)

TITANIUM MOBILE

Titaniumhttp://www.appcelerator.com/

Page 14: Html5 js waffle

HTML5/JS でアプリを作るフレームワークの中で有名GPS/ 加速度センサー /カメラなどスマートフォンの機能を利用する

API が用意されている iPhone/Android/BlackBerry などのスマートフォンに対応オープンソース、 MIT ライセンス iPhone で実績多数

PHONEGAP

http://www.phonegap.com/

Page 15: Html5 js waffle

実は…

私 ( クジラ飛行机 ) が作りました!!

ところでJSWAFFLE とは???

Page 16: Html5 js waffle

PhoneGap が有名なので、 Android で使ってみようと思った

しかし、インストールが大変! Android SDK は仕方ないとしても、 Ruby/Apache ANT …

環境変数の書き換え、 Ruby のバージョンに指定有り …

苦労してインストールを終えプロジェクト作成サンプルをコンパイル!

実行 .. 残念!動かない機能があった 動くには動くが・・・使えない機能があるのは嫌 !! まともに API が動かない PhoneGap の Android 版に不満 PhoneGap のコンセプトを見習って自分で作ってしまおう!!

JSWAFFLE を作るまで

Page 17: Html5 js waffle

既存フレームワークで不満に思った点 インストールが大変! HTML/JavaScript で手軽に Android 開発が始められるように! 簡単に機能拡張ができるように! より多くの Android API が利用出来るように!

JSWAFFLE の開発を開始!

Page 18: Html5 js waffle

とにかく、インストールを簡単にした!Web ブラウザから jsWaffle のページへ行って [INSTALL NOW] のボタンをクリックするだけ このために、 Adobe AIR の力を借りた (^o^

JSWAFFLE > インストール

Page 19: Html5 js waffle

jsWaffle は、フォームに、プロジェクト名などを記入して[Make Project] ボタンをクリックするだけ コマンドラインから操作する必要はなし プロジェクト生成したら、 Eclipse/Aptana からインポートして使う

JSWAFFLE > プロジェクトの作成

Page 20: Html5 js waffle

Titanium/PhoneGap は手広くいろいろなプラットフォームをサポートしているので汎用性が高いが、デバイス固有の機能を 100% 活かしきれない

そこで、 jsWaffle は Android に 100%100% 特化特化することに現在利用可能な API

着信音やバイブなど通知系の機能 マルチメディアの再生 傾きセンサー /GPS メール /SMS/ 電話 /カメラ ファイル /データベース SQLite Android のメニュー /フルスクリーン対応 バーコード /QR コードの読み取り

JSWAFFLE > ANDROID に特化

Page 21: Html5 js waffle

jsWaffle

もちろん、レンダリングエンジンには、 WebKit コンポーネントを使っているので、 WebKit の持つ、 HTML5(+ その周辺技術 ) のは

そのままそのまま使える!!

JSWAFFLE > HTML5 とか

加えて、 HT-03a/ アップデート前の Xperia など、Android1.6 端末でも、 localStorage やgeolocation など、本来未実装の HTML5 関連 API が使えるように工夫している!!

Page 22: Html5 js waffle

ちなみに…<script> droid.runItent(“camera:///sdcard/test.jpg”)--- OR ---<a href=“camera:///sdcard/test.jpg”>CAMERA</a>

CAMERA を起動するコードなど

Page 23: Html5 js waffle

<script>droid.startIntent("mailto:[email protected]?subject=About_jsWaffle&body=test");

--- OR ---<a href=“mailto:[email protected]?

subject=About_jsWaffle&body=test”>Send Mail!!</a>

MAILER の起動

Page 24: Html5 js waffle

まだまだ、これからだけど・・・シンプルで使い勝手も良いので、使ってみてください!!

JSWAFFLE > ANDROID な人使ってみて!

jswaffle

ご静聴に感謝http://d.aoikujira.com/jsWaffle/