データがASP.NetWebAPIを介して配信されるRESTAPIから取得される完全なクライアント側アプリケーションを構築しています。クライアント側のアプリケーションの場合、MVCを使用することはまだ意味がありますか?
3 に答える
シングルページアプリケーション(SPA)でもMVCを使用することにはまだ利点があると思います。いくつかの利点は、組み込みの認証/承認、ルーティング、初期ページのレンダリング方法の柔軟性の向上、WebAPIとMVCが同じプロジェクトにある場合のAJAXのクロスドメインの問題の排除などです。
SPAとASP.NETMVCについてよく知っている人は、JohnPapaです。SPAで利用できる新しいVSテンプレートに関する彼のブログ投稿の1つをチェックしてください。John Papaのブログには、ASP.NET MVCを使用してSPAを開発するための役立つヒントがたくさんあり、Pluralsightに関する優れたトレーニングコースがあります。そして、はい、彼はWebAPIでMVCを使用しています。それらは一緒に使用するように設計されました。
まず、ASP.NETMVCとASP.NETWebAPIの目的を思い出してみましょう。ASP.NET MVCの主な目的は、すぐに使用できるHTMLを提供することです。一方、ASP.NET Web APIの主な目的は、データを提供することです。
したがって、私の意見では、次の場合にASP.NETMVCとASP.NETWebAPIの両方を使用できます。
- 複雑なASP.NETMVCコントロールを使用する準備ができており、それを再利用したい。
- 一部のデータを処理するための複雑なロジックがあるため、パフォーマンスの問題については、サーバー側で処理する方が適切です。
- Httpハンドラー、ファイルアップロードなど、特定のサーバーベースのASP.NET機能を使用する必要があります。
基本的に、MVCは必要ありません。シングルページアプリケーションを作成したいようです。必要なのは、app.jsをロードしてオフにするためのindex.htmlだけです。
MVCは余分な価値を追加しません。
複雑なシナリオの場合でも、アプリケーションにサービスを提供するためのより高度なWebApiメソッドを作成できます。箱から出してすぐに使える基本的なCRUDWebApiメソッドには含まれていません。
エラー、メタデータ、およびあらゆる種類のものを処理するために、APIコントローラーの周りにActionFiltersやDelegatingHandlersなどを配置することもできます。