今週行われたFacebookのデベロッパカンファレンスF8で発表されたものの多くがiOS関連だったが、今日(米国時間3/26)はAndroidデベロッパ向けに三つのオープンソースのツールがリリースされた。
最初のYear Classと名付けられたライブラリは、ユーザが使っているデバイスの古さ新しさに合わせてデベロッパがアプリの機能を自動的に変えられる。たとえば古いデバイス向けにはアニメーションの方式を変えたり、最新のスマホ向けには美麗な表示機能を有効にしたりする。Year Classは生物個体の出生年別分類を表す“年級”という意味で、CPUのスピードやコアの数、RAMのサイズなどから、ユーザデバイスがどんだけ古いか新しいかを判断する。下図は、各年の代表的な機種だ(もちろんAndroidに限定)。
第二のツールNetwork Connection Classは、同じくClassでも出生年ではなくネットワーク接続のクォリティを表す。たとえばHSPAという言葉は、実際の接続速度を表していない。Facebookによると、HSPAの実効速度には最大で5倍の開き(差)がある。
そこでデベロッパは、このツールを使ってユーザごとの実効速度を知り、アプリの機能を調整できる。Year Classに比べるとセットアップのためのコードが多くなり、また実効速度を知るためには最初にかなりの量のデータを集めなければならない。
第三のツールFrescoは、Androidアプリ用の画像ライブラリだ。とくに、アプリが複数の画像をロードしようとしたときに、巧妙なメモリ管理と画像のストリーミングにより、メモリ不足に陥らないようにする(GIFアニメなんかは、サイズが大きくなりがちだ)。
そのほかこのライブラリには、プレースホルダを表示する機能や、画像をキャッシングする機能がある。技術的な詳細は、ここで読める。
[原文へ]
(翻訳:iwatani(a.k.a. hiwa)