WPF+MVVMはどのくらい普及しているんだろう
WindowsForm→Java→PHP→Ruby等の遍歴だったので、WPFにほとんど触らないままだったが、なんだかんだとあって、ちょっとやってみるかと小型のプログラムをWPF+MVVMで開発してみることにした
思った以上に大変だった。
だがお勉強だと思いつつせっせとWPFとMVVMでやってみた。
結論。
MVVMがめんどくさい。Prismとかないとやってられない。
メッセージボックス1つ出すだけでコードが増えすぎる。UIの分離だの何だののメリットはよく分かる。
だが、このメリットに見合う労力なのだろうかこれ。Prismとか使ってやっとスタート地点な気がする。
少なくともPrism等のフレームワークを導入出来ないのであれば今まで通りコードビハインドの方がいい。
以下抜粋
PropertyChangedEventHandlerとNotifyPropertyChangedのおまじない感
自動実装プロパティーで、プロパティーを簡潔に書けるC#の魅力とはなんだったのか?
(必要な場合)さらにModelとの変換ロジックも実装するの?
こんなことで「ViewModelを書けば、(ビューの)データと描画ロジックを美しく分離できる」と言えるのか?
わかりみがありすぎる。全く同じ事思った。
小さい仕様変更や機能追加のないプログラムは、WPF+MVVMのメリットがない気がする
WPF+MVVMは結局のところ、機能追加や修正、変更に優れているものだと思う
つまり、頻繁なバージョンアップを繰り返したり、大規模アプリであれば、容易な修正のしやすさというのはメリットだ。
だけど一人~数人の開発者で、仕様が固まった業務アプリしか作らない感じだと、将来のあるかどうかもよく分からないメンテナンスのために綺麗に作る労力が見合わない気がする
結局のところ、WPF+MVVMが必要とされる開発というのは業務アプリでは思ったより少ないのではなかろうか。
WindowsFormの後継のつもりでWPF+MVVMを企業で使おうと思うと、あまりメリットが思い浮かばない。
そりゃ従業員数数千人で頻繁に機能追加等される巨大アプリなら、WPF+MVVMのメリットはあると思う。
だが、実際それだけの規模のソフトを作る企業がどれくらいあるんだろう。
なんでもかんでもWeb化されていくこの世の中で、デスクトップアプリを未だに使うのはやっぱり企業の業務アプリが有力であり、WPF+MVVMはその人たちにとって福音にはなりえない。(個人の感想です)
別にWPF+MVVMが劣っているとかダメだってわけじゃない。
単純に小規模~中規模の業務系アプリにはあまり向いてないのではと思うだけだ。(個人の感想です)
VS購入するのって、企業向けアプリ制作する人の率は高いと思うが、その人達に刺さらないので、それがいまいち普及しない理由のような気がする。
今仕事で作ってるのなんて、年月選択してボタン押したらCSVが出ます、みたいなプログラムなんだけど、こーゆーのだとほんとWPF+MVVMで作るほどじゃないな…
まあ勉強てがら作ってますが。