
2012 年に設立された Hike は、インターネットをシンプルにしてインドのネットワーク化を促進することを目指して製品を開発しています。Hike は、チャット、メッセージング、フィードを集約し、サードパーティの交通アプリやお支払いアプリとの統合を進めています。これらの機能はそれぞれ異なるタイミングであわただしく開発されたため、Hike では「重大な技術的および構造的負債」と呼ばれています。この負債が安定性、保守性、パフォーマンスに対するボトルネックになっていたため、Hike はコードを早急にシンプル化したいと考えていました。
Hike の取り組み
Hike は Android アーキテクチャ コンポーネントに目を向けました。CTO の Vishwanath Ramarao 氏は、Android アーキテクチャ コンポーネントが「あらゆる課題に対処するための万能ツールになった」と述べています。Hike はまず、ViewModel(このクラスを使用すると、画面の回転などの構成の変更後にもデータを引き継ぐことができる)、LiveData(監視可能なデータホルダー クラス)、Room 永続ライブラリを使用することから始めました。Ramarao 氏はさらに、「Hike のアプリは現代的でリアクティブなため、Room と LiveData は当社の将来を考慮した設計の原則にとてもマッチします」と述べています。
Hike は Paging ライブラリの評価も行っています。アプリでこのライブラリを使用すると、デバイスに大きな負荷をかけたり、大規模なデータベースに対するクエリを長時間待機したりすることなく、データソースから必要に応じて徐々にかつ簡単に情報を読み込むことができます。
Ramarao 氏は次のように述べています。「アーキテクチャ コンポーネントについては、概要は知っていたので、詳細を知りたいと考えていました。当初は、Android エコシステムに関するおすすめの方法として調べていたのですが、当社の技術的および構造的負債に対処するための重要なツールになり、最終的には、当社のアーキテクチャと開発プラクティスをモダナイズするための手段となりました」
結果
アーキテクチャ コンポーネントのおかげで、Hike はアプリのコードの総行数を大幅に削減できただけでなく、コードの可読性と保守性を高めることもできました。さらに、クラッシュが発生しなかったユーザーの割合が、これまでなかなか達成できなかった 99% を優に超えるようになりました。
スタートガイド
Android アーキテクチャ コンポーネントは Android Jetpack の一部として全デベロッパーに公開されています。Android アーキテクチャ コンポーネントをぜひご利用ください。