前回に続いて、2010年9月28日に開催されたGoogleの開発者向けイベント「Google Developer Day 2010 Japan」の個別のセッションや展示について見ていく。

 GoogleのAndroid担当デベロッパ・アドボケート、Tim Bray氏による技術セッション「High performance Android Application」は、Androidアプリの性能に関わる話題を中心に取り上げた。「ユーザーをリスペクトせよ」「つまり、UIスレッドをリスペクトせよ」。「UIスレッドで200msec待たされるアプリは、“Jank(ダメアプリ)”だ」。そしてアプリの応答を遅くする要素を次々と挙げていく。入出力処理と重い計算処理は、UIスレッドとは別のスレッドで実行することを推奨する。このような並行処理を記述する手段として、非同期処理のためのクラスAsyncTaskを紹介した。従来のJavaプログラミングとは異なるAndroid特有の部分である。

写真9●アールティとブリリアントサービスが展示したロボット
写真8●Tim Brayの講演から、Nexus Oneでの各種操作の所要時間の比較。I/Oは遅い
[画像のクリックで拡大表示]

 「Building Cool Application」と題したセッションでは、人気があるAndroidアプリの開発者が、その設計指針を説明した。iモード・メールのクライアント「IMoNi」作者の江川崇氏は「致命的なバグの解決は最優先する。次に、他の開発者からの要望を重視する。他のアプリとの連携でアプリの価値が高まる」という開発指針を紹介した。

 Androidアプリの大きな特徴は、インテントと呼ぶアプリ間の連携機構だが、他のアプリを呼び出したり、呼ばれたりすることを想定してアプリを作ることで、1本1本のアプリの価値が高まっていく。IMoNiの場合も、カメラアプリで撮影、画像操作アプリでレタッチ、画像ファイルのサイズを変更、絵文字を入力など、複数のアプリを組み合わせることで機能が広がる。

 カメラ・アプリ「FxCamera」の作者、山下盛史氏は、「進化していくこと」を指針の一つとして挙げる。これは「バグ修正だけでなく、ブラッシュアップしたり進化していくこと」も含まれる。