2009-03-23 17 views
10

先週、Mix '09でASP.NET MVC 1.0の最終版がリリースされました。ASP.NET MVCはWebフォームを従来のプラットフォームにしましたか?

この枠組みの述べた利点のいくつかは次のとおりです。心配

  • テスタビリティの

    • 明確な分離 - HTMLとJavaScriptを超えるテスト駆動開発のためのサポート
    • きめ細かい制御
    • 直感的なURL

    は今、Microsoftは「代替ではなく、ASP.NET Webフォームの代替、」であるとして、これを宣伝するように注意して、しかし、上記の利点を与え、私は思ったんだけどさ:

    1. どのくらいの意志を「古典的な」ASP.NET Webフォームが「従来の」フレームワークであると見なされるまでは、
    2. 今日、新しい.NET Webプロジェクトの開発を開始したのであれば、なぜASP.NET MVCの代わりにWebフォームを使用するのですか?
  • 答えて

    4

    私は結局のところ、答えは開発チームの専門知識であり、プロジェクトのニーズはそれを決めることになると思います。 ASP.NETのWebフォームは非常に頻繁に使用されているため、すぐに外に出ることはありません。さらに、カスタムコントロールやコンポーネントや書籍などのサードパーティサポートも多数存在します。ウェブフォームの主な利点は、動的なウェブサイトを上手く動かすことがどれほど簡単かということです。それは実際にウェブサイトを開発するRADの方法です。

    しかし、そのチームがスケーラビリティ、信頼性、およびテスト能力の点ではるかに高い要求を持つ大規模なWebサイトを作成した経験があれば、他のソリューションに目を向けるでしょう。この場合、彼らはユニットテストのためにウェブフォームが難しいことを認識します。ビューステートがパフォーマンスを低下させ、可能な解決策を探すこともあります。

    MVCには記載されている利点がありますが、誰でもすぐにこの新しいフレームワークを使用するようにサイトを変換することはありません。さらに、チームには新しい技術を学び、新しいバグを解決する必要があります。チームはまったく同じことをするための新しい方法を学ばなければなりません。たとえば、MVCを使用してファイルのアップロードをサポートするのは簡単ですか?

    最近見たように、MVCとWebフォームを併用してサイトを作成できない理由はありません。近い将来、より多くのハイブリッドを見ることができます。しかし、私はWebフォームが消え去るのを疑う。

    私は、VB1がデスクトップ上にWindowsアプリケーションを作成する方法を変えたようなWebフォームについて考えています。今日まで、アプリケーションを作成するRADの方法はまだ存在しており、決して遠ざかることはありません。

    +2

    > 1年後。あなたの意見が更新されましたか? – Amir

    1

    私はWebFormsが引退するとは思わない。

    私は、ビジネスアプリケーションの仕事ではWebFormsを使用していましたが、自宅ではMVCを使っていくつかのプライベートなことをしてきました。私はMVCが本当に好きですが、HTML/CSS/JavaScriptを使って本当に複雑なUIロジックを実装するにはどうすればいいのか分かりません。すばやく管理不能になり、一部のコントロールの無効化や情報の非表示を防ぐためにJavaScriptをオフにすることができるため、非常に安全です。逆に、WebFormsを使用してJavaScriptを無効にすると、承認されたかどうかに関係なく、実際にページが無効になります。

    両方のプラットフォームが進化し続けます。一般的なWebサイトやHTML/CSS愛好家にとって、MVCは複雑なアプリケーションでは、HTTPのステートレスな性質から抽象化しても、オブジェクト指向アーキテクチャーと人工イベント処理が必要な場合があります。

    だから、あなたに最適なものを選んでください。

    P.S. WebFormsを完全にドロップすることで、世界中の数多くのプロジェクトや企業の未来が危険にさらされます。マイクロソフトの人々は、第3次世界大戦を開始したトリガーと憎しみの対象になりたくありません。

    3

    MVC STILLはデフォルトのView EngineとしてWebFormsを使用しています。確かに、別のものに置き換えることはできますが、WebFormsはまだそれの中核部分です。

    また、誰もがHTMLやルーティングを厳密に制御することを望んでいません。それは私の態度ではありませんが、最小の努力で仕事をしたい人もいます。

    「.asmxファイルは、技術的には「古い」モデルの一部でもありません。私は、多くの人々が彼らが離れて行くのを見たくないと確信することができます。

    まだ、私は個人的にはASP.net MVCがASP.netのメインWebエンジンになっているのを見ていますが、まだネット4.0ではありません。

    +0

    良い点! +1 –

    +0

    .ASMXファイルは、いずれの場合でも古いものであり、将来はほとんどありません。代わりにWCFを使用する必要があります。 –

    +0

    真実ですが、作成するのが簡単で、魅力的です。 –

    0

    WebFormsには、擬似ステートレスウェブアプリケーションが必要な場所に、ドラッグアンドドロップで簡単に組み込むことができます。 HTTPの仕組みを理解する必要がない、または理解したい人のために。 Webアプリケーション用RADの究極の機能です。

    一方、ASP.NET MVCを使用すると、より多くの細かい制御が可能になり、より多くの責任を負うことができます。あなたはあなたのHTMLを完全に制御することができますが、それは自分で出力をサニタイズ/エンコードする必要があることを意味します。ほとんどの場合、アプリケーションは完全にステートレスでなければならず、一部のASP.NET WebForms/Windows WinForms開発者にとっては、心を包み込むのは少し難しいです。

    私はどちらかが優位かもしれないが、どちらも他を支配するとは思わない。

    2

    新しくリリースされたWebプラットフォームであるASP.NET MVCが、7年ほど前から存在していたWebフォームを置き換えることを尋ねています。

    私たちが過去7年間ASP.NET MVCを叫んでいたのであれば、ASP.NET MVCがリリースされるまでに7年間はかかりませんでした。事実、誰もがこれを必要としているわけではありません。私たちの多くは、これらの7年間の大半において、複雑で拡張性の高いWebアプリケーションを作成してきました。

    私たちは、それらをテスト可能にし、プレゼンテーションをビジネスロジックとデータアクセスから分離する方法を知っていました。 ASP.NET MVCはこの分離を強制するかもしれませんが、私はコード標準とコードレビューを使用し、「そのための単体テストはありません」、「UIからそのビジネスロジックを取り除く」と言っています。

    さらに、HTMLのコントロールが本当に必要な場合は、HTMLを生成する独自のコントロールを作成します。

    関連する問題