デブサミ2日目 HTML5中心に参加したまとめ

Developers Summit(デブサミ)2012 日時: 2012/02/17 場所: 目黒雅叙園 URL: http://codezine.jp/devsumi/2012 続きを読む
0
manabu uekusa 植草 学 @mauekusa

1コマだけみて帰る~ (@ 目黒雅叙園 (Meguro Gajoen) w/ @daikawakami) http://t.co/HMtl466R

2012-02-17 12:44:19
manabu uekusa 植草 学 @mauekusa

デブサミ2日目。 スマートフォンにおけるHTML5実装の最先端 紀平 拓男 氏を聞きに来ました! #devsumi

2012-02-17 12:57:27

スマートフォンにおけるHTML5実装の最先端

紀平 拓男 氏

manabu uekusa 植草 学 @mauekusa

紀平さんは、インストールが大嫌いなのがポリシーらしい^^ 今回はスマートフォン限定のHTML5の話し。 #devsumi

2012-02-17 13:13:09
manabu uekusa 植草 学 @mauekusa

HTML5、今までに比べてAPIが豊富 ドット単位の描画が可能 canvas クライアントにデータ保存 local storage #devsumi

2012-02-17 13:15:40
manabu uekusa 植草 学 @mauekusa

HTML5の描画の向上。 1.曲線のある図形を描画出来る。 2.アニメーション能力の向上 flashで作ったようなアニメーションが作れる。 #devsumi

2012-02-17 13:17:22
manabu uekusa 植草 学 @mauekusa

ウェブアプリ機能の拡充 1.アプリケーションキャッシュ 2度目のアクセスはキャッシュから。 2.ローカルストレージ アプリ固有のデータが保存できる。ユーザーデータなど。 #devsumi

2012-02-17 13:19:14
manabu uekusa 植草 学 @mauekusa

アプリに敵わない点 1.3D OpenGLが使えない 2.音楽 制限が多い。iPhoneは、画面がタッチされたタイミングでのみ再生出来る。同時に2つの音源を鳴らせない。BGM+効果音とかが出来ない。 #devsumi

2012-02-17 13:23:17
manabu uekusa 植草 学 @mauekusa

3.速度が遅い 描画が遅い JSの実行が遅い #devsumi

2012-02-17 13:24:12
manabu uekusa 植草 学 @mauekusa

描画手段 HTML5の描画手段 1.canvas ラスターグラフィック 2.SVG ベクターグラフィック 3.CSS3 変形アニメーション SVGはAndroid2系でサポート外 #devsumi

2012-02-17 13:26:03
manabu uekusa 植草 学 @mauekusa

Canvas ・Android>iPhone のパフォーマンス ・iOS4 drawImageが遅い、いかに回数を減らすか。キャッシュに乗せたら勝ち DOM構造で、Canvasの上に物がのせられない。 ・iOS5 GPU サポート☆ #devsumi

2012-02-17 13:29:03
manabu uekusa 植草 学 @mauekusa

2FPS→16FPSまで出せるようになった。 #devsumi

2012-02-17 13:30:16
manabu uekusa 植草 学 @mauekusa

CSS3 ・基本的にGPUサポート ・同時に動く物体数が増えると重くなる。8個ぐらいから。 ・特に、Androidは互換性がないことが多い。変形に関しては2.2以降だとあまり問題が出ない。 #devsumi

2012-02-17 13:32:36
manabu uekusa 植草 学 @mauekusa

メリット・デメリット canvas 同時に動くものが多い場合、シチュエーションによって変わるアニメーション CSS3 一枚もののアニメーションにはむいている #devsumi

2012-02-17 13:34:52
manabu uekusa 植草 学 @mauekusa

JSエンジン 重い理由 1.アルゴリズムが重い(設計が悪い) 2.JITが重い iOS4からサポートされている evalを使うなどで回避 3.GCが重い #devsumi

2012-02-17 13:37:08
manabu uekusa 植草 学 @mauekusa

GC ・Android フルGCが走ると1秒ぐらい止まる。ブラウザ依存になる。 V8は、世代別GCを利用している なるべく新世代にいるうちに参照を切る ・iOSは、メモリが足りなくなると落ちる #devsumi

2012-02-17 13:39:17
manabu uekusa 植草 学 @mauekusa

メモリとの戦い 1.何度も使うメモリはあらかじめ確保する。 頻繁に使う画像は、最初に全部ロードしておく。グローバルスコープから見えるようにしておく。 2.上限の決まっているオブジェクトは、初期化時に限界まで確保しておく。 オブジェク生成の回数を減らす。 #devsumi

2012-02-17 13:41:45
manabu uekusa 植草 学 @mauekusa

ここからは、自己責任で。 どの部分がどれだけメモリを消費するか iPhoneシミュレータは信用出来ない。 UIWebViewも信用できない。 JBしかない。メモリのモニタリング。 #devsumi

2012-02-17 13:44:37
manabu uekusa 植草 学 @mauekusa

メモリ使用量は、100M以下が目安。 #devsumi

2012-02-17 13:45:29
manabu uekusa 植草 学 @mauekusa

自作プロファイル 関数単位で、count/total/selfを、取得 二本指ダッチで開始、終了など プロファイルをみてチューニング。 #devsumi

2012-02-17 13:47:34
manabu uekusa 植草 学 @mauekusa

実機でのデバッグ JsConsole console.log printfデバッグ。デバッグログを出力を設定すればiPhoneでも出来る。 console.errorを使うと色もつけられて便利。 #devsumi

2012-02-17 13:49:48