ナビゲーションに続いて「新しいUIフレームワーク」に話題が移ると、真っ先に「Fragments」が取り上げられた。効率的なコンテンツの取り扱いと柔軟なUIデザインを実現する、Honeycombで最も重要な技術と思われる。具体的には、アプリのアクティビティをサブコンポーネント化し、それらを様々な方法で再利用する仕組みだ。たとえばHoneycombのGmailアプリは、横方向の2ペインモードでユーザーのアクションに合わせて実用的に各ペインの内容が切り替わる。これはFragmentsによって、ペインごとのインタラクションが可能だからだ。

Gmailアプリで、インボックス(左)、メッセージリスト(右)の状態でメッセージを1つ選択すると……

自動的にインボックス・ペインが消えてメッセージリスト(左)とメッセージの内容(右)になる。インボックスを呼び出すと元の状態に戻る

Fragmentsはアクティビティ内で動的に追加/削除/置換/アニメートでき、モジュールとして複数のアクティビティで再利用できる。マルチプルUIの作成が可能であり、縦方向・横方向やアクションの違いなどそれぞれに適したリッチでインタラクティブな利用体験を可能にする。おそらく、デバイスの種類の多さにアプリが対応しきれないというAndroidの大きな問題を緩和するソリューションにもなるのではないだろうか。さらに拡大して考えれば、タブレット版とスマートフォン版のアプリでFragmentsを再利用するということも考えられる。Honeycombは大きな画面を備えたタブレット向けという位置付けだが、ハンドセットを取り込む将来も見据えて設計されているように思う。

選択したメッセージをドラッグしてフォルダーに入れる。ドラッギング・インタラクションがアプリケーション・フレームワークでサポートされている

アクションに合わせて、内容が変化するアクションバー(アプリの右上)。写真のケースは、複数のメッセージを選択したら、バーにアーカイブやスターのボタンが現れた

ウイジェットの3Dスタック。フリックでめくりながらコンテンツを確認可能

Fruit Ninjaをプレイして、タブレット向けに最適化されていない既存のAndroidアプリも問題なく動作することをアピール

3番目のトピックは「パフォーマンス」。Honeycombはシングルコアとマルチコアの両方での動作を想定して設計された初のバージョンである。またOpenGLレンダラのハードウエアアクセラレーションをサポートしている。既存のフレームワークで作成した2Dグラフィックスについても、わずか1行のコード追加でハードウエアアクセラレーションに対応させられる。さらに「Renderscript」と呼ばれる新しい3Dエンジンを備える。

Renderscriptを用いたBooks。3Dの回転ラックがスムースに回る

電子書籍のページめくりのアニメーションもなめらか

Mapsの3Dベクターグラフィックスのレンダリングもスムース

ミュージックアプリでアルバムを3Dブラウジング

Google Body

新しいアニメーションフレームワークによって、ビューやウイジェット、FragmentsなどのUIエレメントがリッチに動作