ASP.NET MVCフレームワークの学習を開始したばかりで、通常のASP.NET開発とはアーキテクチャが大きく異なります。 WindowsフォームからWPFへの移行は素晴らしく、技術の進歩のように思えました。しかし、ASP.NET MVCを学習している間、私は同じことを感じていません。MVCがWebFormsよりも優れていることを確信することができません。彼らはすでに利用可能なWebフレームワークにいくつかの微調整を行い、他の言語のMVCアーキテクチャを採用したようです。
ASP.NET MVCは開発の第一歩ですか?このプラットフォームとアーキテクチャに基づいて将来のプロジェクトを学び、開発する必要がありますか?私には、MicrosoftがWPFと一緒に新しいアーキテクチャをスローしたり、RailsのRubyをコピーしたりしているようです。ASP.NETMVCがあなたを不器用にするのに対し、WPFは有望で素晴らしいようです- [sic]。彼らはコントロールを削除し、新しいコントロールシステムとデータパッケージをスローしました、そしてそれはすべてWebFormsへの極端な変更です。
MVCを使用すると、テストの側面に大きな自由があることを理解していますが、これが小さなWebサイトやプロジェクトで大きな違いを生むとは思いません。テストの価値を無視した場合、これについてどう思いますか?
私の個人的な意見では、ASP.NET MVCは一歩先を行っています。
ASP.NET Webフォームには、主にWindowsベースのフォームのようにイベントベースのアプローチでプログラミングを行っているという事実にいくつかの利点がありました。 Windowsフォームでプログラミングした場合は、自宅にいることを確認してください。また、できるだけ少ないHTML/CSS/Javascriptを記述しました。ただし、コードが背後にある場合でも、コードが表示ロジックに直接結合されているため、いくつかの欠点もあります。..およびViewState/PostBack?十分に言った(それは必要だったが、なんてめちゃくちゃ...)
私はここで2つの間の非常に長い比較を書くことができましたが、あなたにこのリンクを与えます、それは私がここで与えることができるよりもはるかに詳細な比較を引き出します、それは素晴らしいです http://coderjournal.com/2008/12/ Introduction-aspnet-mvc-part-2-aspnet-mvc-vs-webforms /
ASP.NET MVCは表示ロジックから切り離されているため、別のレンダリングエンジンを使用することもできます(RazorはすばらしいIMHOです)。これについては Wikipediaの情報 を参照してください。
機会があれば、間違いなく "クラシック" ASP.NETよりもASP.NET MVCを選択します。
もちろん、ASP.NET MVCの多くは、Ruby on Rails(最近のほとんどのMVC Webフレームワーク))にあるものと似ています。しかし、それは悪いことではありません。URLルーティングとビューからのコントローラーの分離は、いったん慣れてしまえば、実際には本当に素晴らしい方法です。
そして、フレームワークをWWW 実際にの動作に合わせて調整することにより、正方形のペグを丸い穴に詰め込み、「ステートフル」モデルをステートレスプロトコル(「クラシック」ASPなど)に強制するのではなく.NETはそうしました)、ASP.NETが持っていたすべての恐ろしくて漏れやすい抽象化を削除します。
WPFの代わりにASP.NET MVCを学ぶべきですか?わかりませんが、それでも有効な選択肢ですか? ASP.NET MVCが機能するすべての場所(およびその逆)でWPFを使用することはできません。