More Related Content
Similar to HTML5ハイブリッド アプリ開発実践編
Similar to HTML5ハイブリッド アプリ開発実践編 (20)
HTML5ハイブリッド アプリ開発実践編
- 2. 自己紹介
• 久保田光則 @anatoo
• アシアル株式会社
• UI&UXデザイナー兼
ソフトウェアエンジニア
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 2
- 5. ハイブリッドアプリとは
• 通常のアプリと同様にストアから
インストールできる
• 普通のアプリのように見えるが、
中身の部分はHTML5で実装されている
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 5
- 6. ハイブリッドアプリ
ネイティブアプリ ハイブリッドアプリ
Objective-C HTML5
JavaScript
or Java CSS
アプリ アプリ
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 6
- 15. 失敗例: Facebook
• HTML5で作っていたものをネイティブ
へ移行
• 動作が重かったり落ちたりと不評だった
• 「HTML5に賭けたのは失敗」
• by ザッカーバーグCEO
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 15
- 18. ハイブリッドアプリの作り方
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 18
- 19. ハイブリッドアプリの作り方
• フレームワークを利用
• PhoneGap
• MonacaFramework
• Triana
• Trigger.io
• もしくは自前で用意
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 19
- 21. フレームワーク?
ハイブリッドアプリ
HTML5
フレームワーク
モバイルOS(iOS, Android
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 21
- 22. フレームワークの選定ポイント
• ネイティブの機能をJSから使うか?
• 具体的にどんなネイティブの機能を使うか?
• 信頼出来ないHTMLを読み込むか?
今回はPhoneGapの場合をお話します
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 22
- 27. 開発方針
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 27
- 28. どちらにまず合わせる?
• AndroidよりもiOSのほうがはるかに動きが滑
らか&軽い
• まずは、Androidでまともに動くことを確認し
てiOSでも確認する
• 逆だと、Androidで重すぎて使い物にならな
くなる事態が発生する
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 28
- 29. 何をどっちで実装する?
• HTML5は万能ではない
• パフォーマンス上無理っぽい所も。
• どんなものをHTML5で実装できる?
• どんなものをネイティブで実装する?
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 29
- 31. 長短
高度なグラフィック処
理、リアルタイム処 開発速度、学習コス
理、端末性能を活か ト、クロスプラット
す、メモリ節約、OS フォーム性
最新機能
ネイティブ ⃝ ×
HTML5 × ⃝
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 31
- 33. 実際に開発する際のノウハウ
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 33
- 42. GPUが効いてるかどうか確かめる
• iOSの場合
• GPUオーバードローのオプションを
付けてiOSシミュレータ起動
• Androidの場合
• 開発者向けオプションで「GPU
オーバードローを有効にする」がつ
いている端末を利用
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 42
- 43. 例
$ export CA_COLOR_OPAQUE=1
$ open (iOS simulaterのパス)
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 43
- 45. 例
ネイティブ
HTML5
ネイティブ
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 45
- 46. 遷移アニメーションはネイティブで
• 画面を遷移する際のアニメーションにも
ネイティブを使うとアプリらしくなる
• CSSアニメーションでやると
まだ若干重たい
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 46
- 50. tappable.jsがやること
• モバイルだと、タッチを扱うための
イベントが発行される
• touchstart, touchmove, touchend
• tappable.jsではこれを補足してタッ
プを関知
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 50
- 56. セキュリティ
• XSSには気をつける
• ネイティブの機能を呼び出せるため
• iframeで信頼出来ないURLを呼び出す
際も気をつける
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 56
- 57. まとめ
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 57
- 60. モバイル特有のノウハウを理解する
• PCには無い事情を把握する
• viewport, タッチイベント, orientation
• 貧弱なスペックでもなるべく軽く
• GPUを活用, CSSアニメーション, リソースの節約
• 各OSのバグを把握する
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 60
- 61. お知らせ
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 61
- 64. ご清聴ありがとうございました
URL : http://monaca.mobi/ Copyright © Asial Corporation. All Right Reserved. 64