BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース EbayがAndroidアプリを再構築、App BundlesとDynamic Feature Deliveryを活用

EbayがAndroidアプリを再構築、App BundlesとDynamic Feature Deliveryを活用

原文(投稿日:2020/08/28)へのリンク

EbayはGoogleの協力の下で、自社のモバイルアプリのアーキテクチャと実装を刷新した。AAB(Android App Bundle)やKotlinといった、新しいアーキテクチャのメリットを活用することが目的だ。さらに、これを機会としてテスト自動化や継続的インテグレーションとデリバリ(CI/CD)の改善を行うとともに、世界的なインフラストラクチャの制限も克服した。

目標としたのは、技術スタックの最新化、コードのデカップリング、インターネット帯域の低い地域へのサービス提供です。実証済のリアクティブを基本としたモデル-ビュー-ビューモデル(MVVM)アーキテクチャへの移行計画を立案し、CPU集中型の多いバックグラウンド処理と、シームレスであることの要求されるUI更新の間に明確な線を引きました。

Android App Bundleは、公開フォーマット(AAB)を提供フォーマット(APK)とは別のものにすることで、アプリケーションのダウンロードとインストールを高速化しようというものだ。これによってバイナリサイズの削減、実際に必要なモジュールのみの展開、ユーザのデバイス毎に最適化されたリソースとコードの生成が可能になる。

ダウンロードするAPKサイズを削減することのおもな目的のひとつは、Googleによれば、ユーザ維持とインストールコンバージョン率の改善だ。事実、Googleの技術者が行った測定によると、アプリのAPKサイズが6MB増加する毎に、インストール後のコンバージョン率は1パーセントずつ減少する。さらに、APKサイズが大きくなると、ダウンロードの完了率も著しく減少する。特に新興国市場においては、データコストとストレージ領域の両面から、APKサイズはすべてのユーザの懸念となっている。Ebayの場合、AABを採用することで、全体のディスク領域を30~50パーセント削減することができた。

このことは、すべての顧客のダウンロードとインストールコンバージョンに対して、極めて現実的な影響力を持っています。それだけではありません。APKサイズの削減は、データが高価な地域や、ダウンロードサイズやコストの関係でアプリのインストールに制限のあるユーザを対象とする、グローバルな市場を開くことにもなるのです。

AABの採用に関連するもうひとつのメリットは、アプリケーションのモジュール化のサポートが充実していることだ。これにより、必要なモジュールのみを最終的にユーザのデバイスにダウンロードすればよくなる。AAB上に構築されたこの機能は、Dynamic Feature Modulesと呼ばれるもので、例えばアプリの基本機能のみをダウンロードして、高度な機能や高価な機能は後に回すことが可能になる。この機能を活用するには、アプリケーションのアーキテクチャを再構築する必要がある。

このアプローチでは、アプリケーションは独立的かつ変更可能なモジュールで構成され、個々に厳密なテストが行われるようになります。高度に分離されたレイヤは明確なバウンダリ、明確なAPI、単一の責務を持ちます。この特徴は、強く結合されたモノリシックなフレームワークライブラリよりも望ましいものです。

AABによるアプリのモジュール化は、メンテナンス性や理解性といったメリットに留まらず、ユーザエクスペリエンスにも直接的なメリットがあるのだ。

Ebayのエンジニアたちは何年も前から、モバイルアプリクライアントの新たな基盤開発に取り組んできており、今後もアプリバンドルや動的な機能提供による可能性の探求を続けていく予定である。

この記事に星をつける

おすすめ度
スタイル

BT