5

重複の可能性:
MVCとWebFormsASP.NETMVCの
パフォーマンス

今後数週間で新しいWebプロジェクトを開始します。やや有名な人のための公開ウェブサイトです。2つの選択肢があります。古き良きASP.NET4を使用するか、Razorで新しいASP.NETMVC3を使用するかです。

ユニットテストを行う予定はありません。これは、主にjavascript、html、cssで構成されるかなり単純なWebサイトです。

ページを作成/削除/編集するための管理パネルを作成する必要があります。ポートフォリオギャラリーに写真を追加/削除します。そして、それはおそらく私が管理者パネルから必要とするすべてです。複雑なことは何もありません。

免責事項PluralsightトレーニングとASP.NET公式チュートリアルから学んだことを除いて、WebフォームとMVCのどちらについてもあまり経験がありません。私はcssとhtmlの中間知識を持っています。javascriptの経験はありません。しかし、javascriptが他のOOP言語と非常に似ていることを考えると、JSで手を汚さなければならないかどうかについてはそれほど心配していません。

  • 開発速度の観点から、どちらが速いでしょう:WebFormsまたはMVC
  • 2つの間のすぐに使えるパフォーマンスはどうですか?
  • 長期的には、どちらが維持しやすいでしょうか?

Webプロジェクトを最初から開始しないようにアドバイスする場合は、代わりに軽量のASP.NET CMSをお勧めしますか?

4

6 に答える 6

14

開発速度の観点から、WebフォームとMVCのどちらが速いでしょうか?

これは多くの要因に依存しますが、webformsとmvcの両方でeqalテクノロジーを使用すると、mvcの方が高速になるはずです。Webformsには、実際の動作方法(httpがステートレスであるなど)とコードの記述中に想定されるもの(アプリケーションがステートフルであるかのようにプログラミングしている)が一致しないため、オーバーヘッドがあります。

長期的には、どちらが維持しやすいでしょうか?

IMO MVCは、裸のhtml / jsコードを変更するのが簡単であるため、保守が簡単です。モデル(MVC)は明確に定義されているため、新しい人がすべてがどのように機能するかを理解するのに苦労することはありません。

ページを作成/削除/編集するための管理パネルを作成する必要があります。ポートフォリオギャラリーに写真を追加/削除します。

これはMVCが得意とする種類のことです-エンティティを定義し、リスト/詳細/作成/編集/削除のアクションとビューをすばやく作成します。

PS>昔ながらのASP.NETWebフォームが悪いと言っているのではなく、複雑になりすぎて代償を払う必要があるだけです。オープンソースのeコマースソリューション-NopCommerceが良い例だと思います。それはうまく設計され、よく書かれていますが、Webフォームに必要なオーバーヘッドのために本当に遅いです。

于 2011-05-08T22:31:33.820 に答える
5

開発速度の観点から、どちらが速いでしょう:webformsまたはmvc

WebFormsは、RAD開発が多いため、開発が少し速くなる可能性があります。長期的には、しかし、あなたはあなたの懸念を分離しなかったことを後悔するでしょう。関心の分離を維持するには時間がかかる場合がありますが、事後に維持する方がはるかに簡単です。

2つの間のすぐに使えるパフォーマンスはどうですか?

コントローラとビューの間で「エクストラ」が渡されないため、MVCのパフォーマンスが向上します。必要なものだけを渡します(つまり、ViewStateはありません)

長期的には、どちらが維持しやすいでしょうか?

上で述べたことに戻ります。関心の分離を維持するには時間がかかる場合がありますが、事後に維持する方がはるかに簡単です。

于 2011-05-08T22:56:52.350 に答える
2

WebフォームとMVCの両方に長所と短所があります。しかし、選択する必要はありません。nugetパッケージを使用して、MVCをWebフォームアプリケーションに追加できます。Webフォームから始めるだけで、MVCが組み込まれます。そうすれば、ニーズに応じて両方の長所を活かすことができます。

これは、ScottHanselmanからのそのnugetパッケージへのリンクです。

CMSを実行したいだけの場合は、間違いなくOrchardを使用する必要があります

于 2011-05-08T22:22:59.320 に答える
2

開発速度の観点から、WebフォームとMVCのどちらが速いでしょうか?

基本的に何でもできる「既成の」サーバーコントロールのために、Webフォームを主張する人もいます。これはMVCの初期バージョンでは当てはまるかもしれませんが、v3になり、コミュニティが深く関与しているので、MVCポート(カスタムHTMLヘルパーなど)を見つけてそれらを実行できます。 。

言うまでもなく、MVCツールの大幅な足場の改善により、「CRUD」の生活が大幅に短縮されます。

したがって、「開発」を分類するのは難しいですが、バックエンドデータベースに基づいてページ全体を実行するという点では、MVCの方が高速だと思います。

2つの間のすぐに使えるパフォーマンスはどうですか?

答えるのは難しいです。パフォーマンスのあるものは何でもです。Razorビューエンジンは、WebフォームのベースとなっているASPXビューエンジンよりもわずかに高速であるとどこかで読んだことがあります。ViewStateのようなものに追加すると、MVCの方が高速であると(裏付けの「事実」なしで)言わなければなりません。ただし、パフォーマンスの高いアプリケーションを実現するためのテクノロジーに目を向けるのではなく、手元にあるテクノロジーを使用して最適なコードを作成するために自分自身に目を向けてください。

長期的には、どちらが維持しやすいでしょうか?

間違いなくMVC-これについては疑問の余地はありません。SoC(関心の分離)は、MVCの分離だけでなく、MVCの中心である「設定より規約」アプローチにおいてもMVCの大きな推進力です。EditorTemplatesとDisplayTemplatesは、この完璧な例です。これらは、慣例(モデルタイプが渡される)に反して機能します。したがって、バックエンドコードを変更せずに、複数のテンプレートを作成し、さまざまなモデルタイプをフリックできます。

そうは言っても、Webフォームアプリケーションを適切に分離してレイアウトすることを妨げるものは何もありませんが、回避できない「コードビハインドモデル」など、テクノロジー自体の障害にぶつかることなく進むことができるのはこれまでのところだけです。

全体-MVCFTW

于 2011-05-08T23:33:33.533 に答える
1

オーチャードは注目すべきMVCcmsです。

構築済みのCMSを選択する場合は、CMSのメリットに基づいて選択してください。構築しようとしているものがわかっている場合、MVCとWebフォームはここではそれほど重要ではありません。

これを自分で作成することに熱心で、Html、Css、およびJavascriptに慣れている場合は、MVC3を実行することをお勧めします。基礎となるWebスキルがあると仮定すると、MVC3は、Webフォームの潜在的な生産性の利点のほとんどを実際に消去しました。

于 2011-05-08T22:23:22.093 に答える
-1

Umbracoは無料のCMSで、すばらしい.NETベースです。

http://umbraco.com/

于 2011-05-08T22:16:48.400 に答える