MVVMでコーディングする順序について
最近、MVVMでのコーディング順序について試してみて、しっくりきたやり方があるので紹介したいと思います。
まだまだ勉強中の身ですが、自分なりに工夫してみた結果なので、何かの参考になれば嬉しいです。
僕が気に入っているコーディング順序
-
DB/Entityの実装
- まずはデータの形を決めます。処理はデータに従属すると考えているので、最初にここを固めておくとスムーズな気がします。
-
ViewModelのメンバのみ実装
- どんなデータが必要になるのか、先にViewModelの構造を決めます。
-
ViewとViewModelのメソッド定義のみ実装
- 画面の動きと、それに必要な操作を整理します。
-
ViewModelのメソッドの中身を実装し、Modelのメソッドの定義のみ実装
- ViewModelがどんな操作をModelに依頼するのかを決めます。
-
Modelのメソッドの中身を実装
- 最後にデータの取得や保存などの処理を実装します。
この順番で進めると、以下のようなメリットがあると感じています。
-
実装漏れ・過剰な実装が減る
- 必要な構造を先に決めておくことで、無駄な処理を避けられます。
-
レイヤーごとに集中できる
- どの層で何をやるか整理しながら進められるので、考えやすくなります。
-
AI補助との相性が良い
- CopilotなどのAIを活用する際に、入り口と出口を決めておくと、より適切な補完が得られます。
7つめのアプリを作りました
7つ目のアプリをリリースしました!その名も 「ギャンブル予算」。
ギャンブルを予算内でコントロールするためのアプリで、UIにもこだわってみました。
適度に楽しみたい方にぜひ使ってもらえたら嬉しいです。
今後について
これまでリリースしたアプリのインプレッションが合計 9,500 ほどになりました。次のアプリをリリースすれば、おそらく 10,000 に到達しそうです。
そこで、一旦新規アプリ開発を 1週間お休み して、多少評価されているアプリの強化に力を入れようと思っています。
以下のことを実験的に行ってみるつもりです。
-
価値を上げる
- プロダクトページの改善
- X(旧Twitter)などでの再宣伝
- 機能の改修・追加
-
価値を回収する
- 課金機能の追加
- 広告の導入
検討中のアプリ
現在、Xでインプレッションを測りながら、新しいアイデアとして 「匿名幹事」 というアプリの開発を考えています。
これまでのアプリはすべて「アプリ完結型」でしたが、今回は サーバーを使う 予定です。
どれくらい受けるか次第ですが、プログラマー心理では作ってみたい!