「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
ASP.NET Web Forms と ASP.NET MVCのトレードオフをまとめた。
HTML/CSS3/JavaScriptやHTML5が注目される時勢のため、
というのが世間一般の認識だと思います。
しかし、歴史的に、
などが良い例だと思いますが、
技術毎に適合する分野が異なるので、
「単純に古いからASP.NET Web Formsが衰退して消える。」
ということは無いと思います。
ASP.NET Web Formsの価値は、
ASP.NET MVCの価値は、
エンプラ分野の大規模開発案件では、
標準化と徹底が容易なASP.NET Web Formsは、
以下のような最新のUIテクノロジにも対応し、
今後も、まだ現役で使い続けられるものと思われる。
ASP.NET Web Formsの問題は、
コンポーネントベースのアプローチを採用しているので
生HTMLをガリガリと生成&弄り難いことである。
<!DOCTYPE html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
また、masterページなどを使用している場合、
NamingContainer? IDにより、Name属性やID属性の値が複雑になる。
生HTMLをガリガリと生成&弄り易いため、
「HTML/CSS3/JavaScript」や「HTML5」に
対応する案件が増える中で、導入数は増えると思われる。
しかし、エンプラ分野では、下記のような課題もある。
柔軟性は高いが、
など、実装次第で、標準化の枠から大きくはみ出てしまう(枠に収め難い)。
などが含まれる。
これらのモジュール構成の検討が難しい。
これらを枠に収めるには、
ガイド類(ドキュメント)「MVCのどの機能を、どう使うか?」を徹底するしかない。
従って、ガイド類(ドキュメント)が十分で無いと、大規模開発などで問題が発生しやすい。
「設定より規約」(CoC:convention over configuration)を重視するASP.NET MVCでは、
ASP.NET MVCの仕様を網羅的に押さえていないと効率的な実装、標準化が出来ない。
DataAnnotations?と、利用するHTMLヘルパーの関連を理解しておく必要がある。
モデルバインディングの仕組みを理解し、name属性の名称を決定する必要がある。
DataAnnotations?を理解し、標準のバリデーションの機能版囲を理解し、
必要に応じてカスタムのバリデーションを実装する必要がある。
エンプラ分野の大規模開発案件で、
大手SIerが内製しているJavaの自動生成を考える。
Tags: :.NET開発, :ASP.NET, :ASP.NET Web Forms, :ASP.NET MVC