シリーズのパート2では、Android向けのComposeベースのアーキテクチャーであるTrioについて議論します。Trioは、ViewModelの状態にTriosを保存することでナビゲーションを簡略化し、簡単なナビゲーション制御を可能にします。ViewModelは、1つの場所でデータとナビゲーションを更新できるため、非同期ナビゲーション変更が可能になります。ナビゲーションスタックは、ViewModelのチェーンとその状態によってモデル化され、対応するCompose UI階層が作成されます。Triosは、ネストされたスクリーンやセクションを含む様々なUI要素を表現できます。モジュール化構造には、Trioスクリーンとナビゲーションを含むフィーチャーモジュール、およびルーターを定義するナビゲーションモジュールが含まれます。ルーターは、型安全性を確保し、循環依存関係を削減します。Routerクラスは、Trioのインスタンス化と、新しいアクティビティーの開始のためのインテントの作成を支援します。新しいアクティビティーでTrioを開始するとき、インテントからTrioインスタンスが抽出され、アクティビティーのコンテンツに表示されます。Trioのナビゲーションシステムは、ルーター上的のResultタイプを使用して、新しいアクティビティーの結果を返すことをサポートしています。
medium.com
Introducing Trio | Part II
