BT

Facebookは如何にして新興国市場向けAndroidアプリを設計したか

| 作者: Sergio De Simone フォローする 18 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年4月22日. 推定読書時間: 2 分 |

原文(投稿日:2016/03/15)へのリンク

世界をつなげるというビジョンを達成するため、Facebookは新興国市場での利用に最適化したAndroid用アプリ「Facebook Lite」を開発している。FacebookのエンジニアであるGautam Roy氏がその設計について説明した

最近、モバイルテクノロジーが新興国市場でブームになっているのは事実だが、モバイルの世界における新興国と先進国の違いは大きい。具体的に、新興国においては、3G・4Gモバイルネットワークは広範囲に利用できず、たとえ3Gコネクションが使えても、途切れがちだろう。しかも、たいていの場合、一般人にとって3Gコネクションは高すぎる。それに対し、Gautam Roy氏の言うように、2Gネットワークは世界中の人々の96%をカバーし、世界の人口の半数以上で使われている。このことから、Facebookは次のように目標を定義した。

  • アプリのフットプリントを小さくする(APKサイズを1MB以下に)
  • データ利用を小さくし、2Gネットワークをサポートする
  • 古い2009年相当のデバイスをサポートする

Facebookのエンジニアが採用したアーキテクチャ設計は、プロキシサーバーを利用して、ThinクライアントとしてAndroidアプリを実装するというものだった。

このアークテクチャでは、サーバーが力仕事をするように設計された、とRoy氏は語る。サーバーはFacebookのバックエンドサービスからデータを取得し、それをクライアントが使えるようにパッケージングする。アプリ機能の大部分はプロキシサーバーによって実装されている。クライアントアプリ自体は、ある種のバーチャルマシンとして設計されており、カメラ、SQL liteエンジン、UIエンジン等のOSリソースへのアクセスを提供している。さらに、同じアイテムに複数回リクエストするのを避けるため、クライアントアプリはローカルキャッシュを活用する。興味深いことに、Facebookのエンジニアは、HTTPSを使う代わりに、TLS上に独自のメッセージプロトコルを考案した。データ利用をさらに削減して、セキュアなコネクションを確立するのに必要な時間を短縮するためだ。

こうした設計選択のおかげで、ログイン、情報の更新、画像のロード時間のようなタスクで最高の性能を実現し、パフォーマンスが低くて途切れがちなネットワーク環境でも適切に動作するという。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT