様々なプラットフォームで動くアプリケーションの設計に関する実験的なリポジトリ
シンプルなTODOアプリ
- ユーザー認証
- タスクの作成/表示/削除/更新
- サーバーを介した同期
以下の要素からなる
- View
- GUI周り
- Controller
- ビジネスロジックを受け持つ層
- Storage
- Controllerがデータにアクセスするためのインターフェース層
- Network Client
- ネットワーク通信周りを担当するコンポーネント
- Cache
- ローカルキャッシュを管理する層
- RPC (モデルの定義およびAPIインターフェース): grpcが最適
- 実装の共通化
- ControllerやStorageは実装が共通化できそう
- 言語: Kotlin が最適
- Kotlin
- 対象のすべてのプラットフォームをサポート
- Androidはネイティブ対応しており親和性高い
- 言語仕様の癖が強くない
- Rust
- 対象のすべてのプラットフォームをサポート
- 言語仕様の癖が強い
- Kotlin