Android勉強会に行ってきた(090406)
日本Androidの会主催の定例イベントでお話を聞いてきましたので、簡単にレポートします。
DalvikVM on JavaVMの話をメインで聞きにいきましたが、後半の家電ビジネス周りのお話も初めて知ったことが多くて、勉強になりました。とても濃いお話で楽しめましたです。
Ust録画がここで見られそうな予感。幹事のかた、スピーカの皆様、ありがとうございました。
イーフロー 久納さんによる、DalvikVM を Pure Java (CLDC) で実装した話
- 久納さんがこれまでにつくったものの紹介
- QuickBASICの処理系
- 6000行くらい
- JavaScriptで動くGameboyエミュレータ
- ほんとに動いてた。変態だw
- Canvas処理周りが、Google Chromeが最速とか
- Wiiブラウザでも動くようにつくってあるとか
- 4000行くらい
- Skype4Java
- Skype APIのJavaラッパ .. Skype公認とか
- QuickBASICの処理系
- DalvikVMをつくってみたことについて
- Google公開の仕様ドキュメントがやけに少ないので、自分でつくってみて、よく理解してみようとおもったらしい。ふむふむ
- すでにケータイJavaVMで動くJavaVMの実装を作ってあったらしく、それに手を加えて4日半くらいでつくったとか。おおー
- オープンソースで公開することで、イーフローさんがDalvikVMに取り組んでることをアピールしたいとか。なるほどねえ。勉強させていただきます
- つくったDalvikVMの動き
- レジスタマシン
- dxで作ったdexバイトコードを頭から読みながら実行していく
- 読むなら、VirtualMachineクラスのこの辺から
- どうやって作っていったか、とか、作っていて気づいたこととか
- dexdump使って、dexバイトコードをダンプしてみて、追ってみる
- バッチファイル書いて効率化。$ adb shell “<adb shellで実行するコマンド>” とかでadb shellへコマンドを飛ばせるらしい
- DalvikVMの命令コードは2Byte(16bit)単位の可変長(最大80bit)らしい
- バイトコードのエンコードを短くするための工夫が見られる。長いメソッドディスクリプタに命令コードを割り当てなおしたり、配列のデータをとり回す処理が一命令コードになってたり。
- メソッド内でのレジスタの使い方が変わってる?引数やメソッドローカルな変数などはレジスタに。返り値や例外は、特別な場所へ入れてる?(このへん、意味がよくわからず)
- 命令コードの説明などなど。Constなんとかでレジスタへの変数格納とかとか。
- dexdump使って、dexバイトコードをダンプしてみて、追ってみる
- ベンチマーク
- Embedded Caffeine Mark
- Google Dev Phone(Dalvik)とP905i(JBlend)で比較
- StringでDalvikVMの方が1/10くらい遅い
- なぜか?実行コードが単純に多いからっぽい。JITコンパイラ使って最適化すれば、高速化の余地はありそう
- VM on VMについて
- 開発済み資産の再利用とかとか
- Java MEの世界でいえば、動的なクラスロードができないという制約を超える一手としても
Celevo 岩佐さんによる、家電向けDalvikVMとCE向けAndroid Marketに関する話
- CE は Windows CE(懐かしい)ではなくて、Consumer Electronics のほうでした
- Celevo の話
- 家電ベンチャー。デジカメ作ってるそうです
- デジタル家電がハード勝負からソフト勝負になっていってる話
- 家電メーカーにとって、ソフト差別化が(いろんな理由で)難しいし、舵切りできてないという話
- ハードで勝負するにも、モジュール化が進んでて、海外の部品特化メーカ(IntelとかT1とかNVIDIAとか)が強い
- 家電にユーザが作ったアプリが載る時代 .. 家電メーカーからすると「来ちゃったか」
- PCつくるのは儲からない .. 家電もそうなっちゃうかも
- 小規模でもハードウェアに参入できるようにもなってきたという話
- デジタル家電のプレイヤーの話
- 量販では、BUFFALOとかI/O DATAの売り場と(旧来からの)家電売り場で流通マージンがちがうのでごにょごにょ
- 大手家電メーカは動きにくいね、という話
- CE 向け Android Market の登場が、大きなターニングポイントになりそう
- メーカは家電販売が主。そういうアプリの販売機能を持ちにくい。サーバホスティングもやりたくない、らしい
- 出てくるには、メーカをまたいだUIの標準化や仕切り、メーカ承認フラグみたいな仕組み、DRMとかとかも必要に
- 誰がやるんでしょうね、とかとか
日本Androidの会 木南さんによるLBSの話
- LBSつくった話と、アイデアなど。
- ショートペッパー、良いですね!
最近のコメント