この記事は Manuel Vicente Vivo による Android Developers Blog の記事 " Rebuilding our guide to app architecture " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android アプリのサイズが増大するにつれ、アーキテクチャに従ったコードを設計することが重要になっています。そうすることで、アプリをスケーリングでき、品質や堅牢性を向上させて、テストしやすいものにできるからです。
アプリのアーキテクチャは、アプリのパーツ間の境界や、それぞれのパーツが担うべき責任を定義します。これは、前述のメリットを実現する関心の分離の原則とも一致します。
アプリのアーキテクチャに関する最新のガイダンスがほしいというコミュニティの声に応えて、刷新したアプリ アーキテクチャ ガイドを公開しました。これには、堅牢で高品質なアプリを作るためのベスト プラクティスや推奨アーキテクチャが含まれています。さらに、推奨アーキテクチャのレイヤ、すなわちUI、ドメイン、データの各レイヤについて説明するページもあります。その中で、UI イベントのハンドリング方法などのさらに複雑なトピックを掘り下げています。
Android アプリには、少なくとも次の 2 つのレイヤが必要です。
また、ドメイン レイヤと呼ばれるレイヤを追加し、UI レイヤとデータレイヤとの間のインタラクションの簡素化や再利用を行うこともできます。
典型的なアプリ アーキテクチャを汎用化した図。UI レイヤは、オプションのドメイン レイヤか、アプリケーション データを公開するデータレイヤからアプリケーション データを取得する。
このコンテンツを順番に、そしてどこまで進んだかを把握しつつ利用できるように、学習用の Pathway (英語) を作成しました。この機会を見逃すことなく、すべての内容を学んで認定バッジを取得しましょう。
初心者の方は、アプリのアーキテクチャを採用することによるメリットを理解するところから始め、次にトピックへの最初のアプローチとして、推奨事項に従いましょう。中級および上級のデベロッパーの方は、推奨事項に従い、ニーズに合わせてカスタマイズしましょう。実際に、私たちの調査から、ほとんどのプロのデベロッパーが既にこれらのベスト プラクティスを利用していることがわかっています。
既存のアーキテクチャをアップデートして推奨事項に従うべきか、疑問に思う方もいらっしゃるかもしれません。その答えは否というより、皆さん次第です。現在のアーキテクチャが問題なく機能していれば、それを使い続けてもよいでしょう。しかし、ガイドを読めば、メリットが得られたり、アプリに導入したいと思えたりするパターンが見つかるかもしれません。
今回公開するドキュメントは第一弾で、2022 年中にさらに公開を続ける予定です。ガイドの改善にご協力ください。現在の推奨事項にフィードバックがある方や、他のアーキテクチャ関連トピックを確認したい方は、ドキュメントの Issue Tracker (英語) からお知らせください。