OwlはMVIをベースにした新しいAndroidの状態管理ライブラリで、以下の機能を提供しています。awareなViewStateの通知Owlは以上のことにのみ特化した小さなライブラリなので、ライブラリをインストールせずに実装パターンだけをプロジェクトに導入しても構いません。現状Javaはサポートしておらず、KotlinでのAndroid開発を前提にしています。Owlは以下のライブラリに依存しています。簡単なViewModelの実装は以下のとおりです。完全なサンプルアプリはsampleにあります。それぞれのクラスには以下のようなシンプルなルールがあります。IntentViewがどのような処理を行いたいかを表すsealedクラスです。変更する唯一の方法です。自体を変えるべきではありません。アクセスしてください。対してどのような変更をするかを表すsealedクラスです。Viewはこのクラスのデータをもとに表示の変更を行います。ViewModel層全体のなかで唯一状態を保持することができます。内では同期的な処理のみを行い、CallbackやCoroutineによる並列処理を書くことはできません。内での非同期処理ができません。クラスを提供しています。実装は以下のようになります。よって処理されると同時に呼ばれます。内部で非同期処理を行うことができます。