Hike Messenger: Android アーキテクチャ コンポーネントを活用し、スピードアップとシンプル化を実現
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。

2012 年に設立された Hike は、インターネットをシンプルにしてインドのネットワーク化を促進することを目指して製品を開発しています。Hike はチャット、メッセージ、フィード、サードパーティの交通機関や決済アプリとの統合機能を備えており、これらの機能を非常に迅速に、さまざまな時点で開発したため、同社では「技術的および設計上の大きな負債」と呼ばれていました。この負債が安定性、保守性、パフォーマンスに対するボトルネックになっていたため、Hike はコードを早急にシンプル化したいと考えていました。
Eyecon の取り組み
Hike は Android アーキテクチャ コンポーネントに目を向けました。CTO の Vishwanath Ramarao 氏は、このコンポーネントが「あらゆる課題に取り組むための万能のツール」となりました。まず、設定変更(画面の回転など)後にデータを引き継ぐ ViewModel、監視可能なデータホルダー クラスである LiveData、Room 永続ライブラリが使用されました。Ramarao 氏は次のように述べています。「Google は最新のリアクティブ アプリであり、Room と LiveData は当社の先進的な設計の原則にとても合致しています。
Hike はページング ライブラリの評価も行っています。これにより、アプリはデバイスの過負荷や大規模なデータベース クエリを長時間待つことなく、必要に応じてデータソースから情報を段階的に読み込むことができます。
Ramarao 氏は次のように述べています。「アーキテクチャ コンポーネント全般については認識しており、もっと知りたいと思っていました。「しかし、Android エコシステムのベスト プラクティスの探求から始まったことが、技術的およびアーキテクチャ上の負債に対処するための重要なツールになりました。最終的には、アーキテクチャと開発プラクティスをモダナイズする方法となりました」
結果
アーキテクチャ コンポーネントのおかげで、Hike はアプリのコードの総行数を大幅に削減できただけでなく、コードの可読性と保守性を高めることもできました。さらに、クラッシュが発生しなかったユーザーの割合が、これまでなかなか達成できなかった 99% を優に超えるようになりました。
始める
Android アーキテクチャ コンポーネントは、Android Jetpack の一部として、全デベロッパーに公開されています。Android アーキテクチャ コンポーネントを使ってみるをご覧ください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2018-05-03 UTC。
[null,null,["最終更新日 2018-05-03 UTC。"],[],[],null,["# Hike Messenger gains speed and simplicity with Android Architecture Components\n\nLaunched in 2012, Hike is building products with the aim of simplifying the\ninternet to bring India online. Hike combines chat, messaging, feeds,\nand integrations with third-party transportation and payment apps.\nIt developed these features very rapidly and at different points in\ntime, resulting in what the company called \"significant technical and\narchitectural debt.\" Because this debt was becoming a bottleneck to\nstability, maintainability and performance, the company wanted to simplify\nits code quickly.\n\nWhat they did\n-------------\n\nHike turned to [Android Architecture Components](/jetpack/arch), which\nbecame \"our Swiss army knife to tackle all of these challenges\" says\nCTO Vishwanath Ramarao. It began using\n[ViewModel](/topic/libraries/architecture/viewmodel), which allows data to\nsurvive configuration changes (such as screen rotations);\n[LiveData](/topic/libraries/architecture/livedata), an\nobservable data-holder class; and the\n[Room](/topic/libraries/architecture/room) persistence library.\n\"We're a modern, reactive app, and Room and LiveData fit really\nwell with our forward-design principles\" Ramarao adds.\n\nHike is also evaluating the [Paging Library](/topic/libraries/paging),\nwhich makes it easier for an app gradually to load information as needed from a\ndata source, without overloading the device or waiting too long for a big\ndatabase query.\n\u003e \"We were aware of Architecture Components in general and wanted to learn more\"\n\u003e Ramarao says. \"But what started as an exploration of the Android-ecosystem\n\u003e best practices became an important tool to tackle our technical and\n\u003e architectural debt. It ultimately became a way of modernizing our\n\u003e architecture and development practice\".\n\nResults\n-------\n\nThanks to Architecture Components, Hike significantly reduced the total\nlines of code in their app, while also making that code more readable\nand maintainable. Android Architecture Components also helped them to\nraise their crash-free user ratings to well beyond 99 percent,\nsomething they'd struggled to accomplish in the past.\n\nGet started\n-----------\n\nAndroid Architecture Components is open to all developers as part of\n[Android Jetpack](/jetpack). [Get\nstarted with Android Architecture Components](/jetpack/arch)."]]