ウェブ技術でiOS/Androidアプリ開発!!~HTML5ハイブリッドアプリ開発[実践]入門~

2014年2月13日に開催されたヒカ☆ラボのつぶやきまとめです。 http://www.zusaar.com/event/2967003
2
もと @motoyuki_suzuki

Cordova プラグインについて聞きたい #hikalab

2014-02-13 19:49:16
星影 @unsoluble_sugar

フレームワークのメリット ・HTML5だけで始められる ・OS機能をHTML5で利用できる #hikalab

2014-02-13 19:49:20
星影 @unsoluble_sugar

フレームワークを使わない選択肢 ・自前でWebViewをアプリに組み込む ・アプリの一部のみをHTML5に組み込む などなど #hikalab

2014-02-13 19:50:14
星影 @unsoluble_sugar

実際の導入手順 各プラットフォームの開発環境構築は必須 #hikalab

2014-02-13 19:51:10
星影 @unsoluble_sugar

iOSアプリ開発環境 ・Mac必須 ・開発者登録 ・Xcodeインストール #hikalab

2014-02-13 19:51:43
星影 @unsoluble_sugar

Android開発環境 ・Win,Mac,Linuxでも可 ・EclipseとAndroid SDKインストール #hikalab

2014-02-13 19:52:17
星影 @unsoluble_sugar

環境構築は結構面倒だが、一度作ってしまえば快適 #hikalab

2014-02-13 19:52:45
星影 @unsoluble_sugar

実際に開発を始めると結構問題が出る。 よくある問題 ・ネイティブと比較して描画や動作が遅い(端末のスペックが低い、HTML5自体が重いなど) ・アプリっぽくならない(Webページライクなので) #hikalab

2014-02-13 19:55:17
星影 @unsoluble_sugar

今日は「描画や動作が遅い」件についてのお話 #hikalab

2014-02-13 19:55:44
星影 @unsoluble_sugar

クリックイベントを使わない→touchイベントで処理 ・a要素やclickイベントは300ms遅延が発生 ・tappableやfastclick使いましょ #hikalab

2014-02-13 19:57:03
星影 @unsoluble_sugar

タップした瞬間は、シングルタップなのかダブルタップなのかの判別が付かないため遅い…らしい(謎仕様) #hikalab

2014-02-13 19:57:47
星影 @unsoluble_sugar

CSSアニメーションをちゃんと使いましょう ・アニメーションにCSS Transitionを使う ・JavaScriptで直接やるよりはるかに早い #hikalab

2014-02-13 19:58:54
αθξτψbot @hidfactory_

JavaScriptよりCSSアニメーションの方が早い。 #hikalab

2014-02-13 19:59:56
星影 @unsoluble_sugar

JQueryではなくzepto.jsを使う http://t.co/BXNgbtYpwL ・zepto.jsはモバイルに最適化 ・jQueryの互換APIを提供 ほとんど同じように使える #hikalab

2014-02-13 20:00:44
星影 @unsoluble_sugar

Android、iOSでの動作確認は遅い方に合わせる ・WebViewはAndroidよりもiOSの方がはるかに速い ・あとからチューニングして修正するのは大変 #hikalab

2014-02-13 20:01:52
αθξτψbot @hidfactory_

AndroidとiOSの遅い方で動作確認する。 #hikalab

2014-02-13 20:02:44
星影 @unsoluble_sugar

なるべくリフローを起こさない ・DOMツリーのレイアウトの再計算 ・リフローする毎に画面レイアウトの再計算処理が走る #hikalab

2014-02-13 20:03:03
星影 @unsoluble_sugar

何がリフローを引き起こす? ・内部テキストの変更、input要素への入力 ・DOMツリーの操作 ・width,height,margin,padding,bordeなどの変更やクラス属性、スタイルの変更でも #hikalab

2014-02-13 20:04:33
星影 @unsoluble_sugar

リフローのコストを下げるには? ・要素のwidth,heightを指定する ・フローベースのレイアウトを避ける(position:absolute,fixedを積極的に使う) ・要素位置や大きさを変えるには、transformを使う #hikalab

2014-02-13 20:06:24
星影 @unsoluble_sugar

まとめ ・アプリとして軽快に動作する必要あり ・最適化のテクニックを把握しておくことが重要 #hikalab

2014-02-13 20:10:42
星影 @unsoluble_sugar

ハイブリッドアプリを開発するためのプラットフォーム - Monaca http://t.co/VIPzKyIFgf #hikalab

2014-02-13 20:11:59

ところで…