ASP.NETMVCについて混乱しました。
一部の人が言ったように、MVCはASP.NETよりも優れています。一部の人が言ったように、それらは完全に同じものです。そして、私の大学は、MVCはasp.netの単なる拡張であり、asp.netはすでにMVCの形式になっていると議論しています。
実際、私はゼロからWeb開発を始めています。誰かが私の目の前の霧を取り除くのを手伝ってくれるかもしれないなら、それは大いに役立つでしょう。
ASP.NETMVCについて混乱しました。
一部の人が言ったように、MVCはASP.NETよりも優れています。一部の人が言ったように、それらは完全に同じものです。そして、私の大学は、MVCはasp.netの単なる拡張であり、asp.netはすでにMVCの形式になっていると議論しています。
実際、私はゼロからWeb開発を始めています。誰かが私の目の前の霧を取り除くのを手伝ってくれるかもしれないなら、それは大いに役立つでしょう。
すべてのASP.NETWebフレームワークは、MicrosoftASP.NETFrameworkの上に構築されています。Web APIのユニークな機能は、MVCアプリケーションとWebFormsアプリケーションの両方で使用して、真に安らかなHTTPサービスを提供できることです。
適切なAsp.NETフレームワークの選択について:公式ソース(www.asp.net)から詳細情報を入手できます。
一般的な経験則は、アプリケーションをどのように構築するかというアーキテクチャ設計です。
ASP.NET MVCは、開発者が従来のWebフォームよりも設計とコードの分離についてより深く考えるようにする、よりクリーンな分離を促進します。
ASP.NET MVCの優れているが真のメリットについては、さまざまな議論があります。
ASP.NET WebForms-迅速なアプリケーション開発ツールと見なされる人もいるため、常に存在します。ドラッグアンドドロップするだけで、ASP.NETに投稿や状態などを処理させることができます
ASP.NET WebAPI-ブラウザやモバイルデバイスを含む幅広いクライアントに到達するHTTPサービスを簡単に構築できるようにするフレームワークです。ASP.NET Web APIは、.NETFrameworkでRESTfulアプリケーションを構築するための理想的なプラットフォームです。
全体として、それぞれに必要に応じて検討する必要のある特定のビジネスソリューションがあります。
比較を探すための参照:
ASP.NETは、Webフレームワーク全体の名前です。ASP.NET上に構築されているいくつかの異なるテクノロジがあります。これらのテクノロジーの2つの一般的な例は、WebFormsとMVCです。
WebFormsは、Windowsフォームによく似たプログラミングモデルを推進しています。Webのステートレスな性質を抽象化しようとし、HTMLの代わりにサーバー側のコントロールを使用することをお勧めします。WebFormsは、MVCがリリースされる前から長い間ASP.NETでWebアプリケーションを作成するための主要な方法であったため、「ASP.NET」についてWebFormsと同じものとして話題になることがよくあります。これはあなたの混乱の理由の一部です。ASP.NETWebFormsはASP.NETMVCとは大きく異なりますが、どちらもASP.NET上に構築されています。
ASP.NET MVCは、サーバー側の制御から離れます。抽象化が排除され、生成される実際のHTMLをより厳密に制御できるようになります。最新のアプリケーションの開発者にとって、これはAJAXと豊富なクライアント側のJavaScriptをはるかに簡単に使用できるため、非常に便利です。
(控えめな意見が入ってくる)
ASP.NET(Webフォームの使用に関して)は、WinForms開発者向けにWebをプログラミングしています。イベントを「バインド」し、「コントロール」を設定し、すべて(sessionstate)がページ内の巨大な非表示フィールドに格納されるため、前回の呼び出しから中断した場所がわかります。この情報が存在することに大きく依存しているため、ページ全体をラップするマスターフォームにすべてを常駐させる必要があります。
一方、MVCは、C# .NETプログラミングをWebが意図した方法でWebに戻しています。肥大化、隠しフィールド、重いバインディングはありません。それはすべてを古典的な「私はこのフォームを持っているので、今それを処理する必要がある」に戻します。間違いなく、本当の魔法はルーティングメソッドと送信されたフィールドのオブジェクトへの「自動バインド」です。(フィールドx
、y
&z
が送信され、アクションがFooBar
プロパティで検索されている場合x
、y
&z
は自動的に変換されます。
ASP.NETは、WEB-APIとASP.NETMVCの両方に共通です。MVCまたはWEB-APIについて疑問に思われると思います。MVCは、ビューに基づくコントローラー/モデルです。コントローラはAJAXjsonの目的で使用できますが。MVCは、本格的なブラウザベースのアプリケーションを構築するための良い方法です。WEB-APIを使用すると、必ずしもブラウザ関連ではなく、単純なhttpサーバー機能を構築できます。RESTスタイルのプログラミングに適しています。非常に柔軟性があり、WCFサービスの優れた代替手段です。公式ASP.NETサイトの両方に関する優れたチュートリアルです。ここから開始http://www.asp.net/get-started
選択はあなたのプロジェクトに依存します。MVCの生産性は非常に高く、1年前から使用しており、Webフォームよりも優れているため、MVCを選択することをお勧めします。
詳細については、http: //www.asp.net/mvcをご覧ください。
選択は完全にあなた次第です。私は2010年からMVCアプリケーションを開発してきましたが、2年以上が経過し、Razorとaspxビューの両方でMVCのほぼすべてのバージョンで動作するようになりました。また、ASP.NetWebフォームベースのアプリケーションにも取り組んできました。
MVCを使用すると、組み込みのコントロールを取得できません。使用するすべてのコントロールを開発する必要があります。主にhtmlコントロールに依存する必要がありますが、Webフォームを使用すると、組み込みのコントロールを使用できるようになります。あなたが簡単にウェブフォーム開発者を得ることができるので、あなたの周囲の他の開発者はウェブフォームにとって簡単かもしれません。
しかし一方で、MVCでは保守性が非常に高くなります。生産性に関しては、慣れると非常に高くなりますが、学習段階になると最初は低くなります。EntityFrameworkを使用することを忘れないでください。
シナリオに適している場合は、WebAPIを使用してアプリを開発することも検討してください。