ASP.NET Core Webアプリケーションを作成する場合にどのアプリケーションの種類を選択すれば良いか
ASP.NET Core Webアプリケーションを作成する場合にどのアプリケーションの種類、フレームワークを選択すれば良いかを紹介します。
概要
ASP.NET Webアプリケーションは、これまではWebFormアプリケーション、または、ASP.NET MVC を利用して開発していました。
.NET Coreの登場により、今後は.NET Coreがメインストーリームになり、.NET Framework を利用しているASP.NET WebForm アプリケーションはメンテナンスモードになり、徐々に終了に向かう方針です。
ASP.NET Coreを利用したWebアプリケーション構築ですが、Webアプリケーションにはいくつかの種類があり、どの方式を選択すれば良いか迷うこともあるため、それぞれのアプリケーションの特徴をこの記事では紹介します。
チャート
下図のチャートを参考にして、どのASP.NET Core Webアプリケーションを選択すれば良いか確認できます。
ASP.NET MVC
MVCモデルを利用してWebアプリケーションを作成する場合に選択します。
MVCモデルは規模の大きなWebアプリケーションの作成に適していますが、小さなアプリケーションを作成するには、やや冗長で小回りができない傾向にあります。
ASP.NET MVCのアプリケーション作成方法については
こちらの記事を参照して下さい。
ASP.NET Core / ミドルウェア
シンプルなASP.NET CoreのWebアプリケーションを作成する方法です。HTMLのページ出力が無い場合、つまり、ASP.NET WebFormアプリケーションでのジェネリックハンドラーや、ASP.NETハンドラーと同様の処理ををASP.NET Coreで実装する場合にはこの方法を利用するのが良いかと思われます。
ASP.NET Coreのアプリケーション作成方法は以下の記事を参照して下さい。
アプリケーションの作成
ミドルウェアの利用
ルーティングの利用
ASP.NET Core Razor Pages
ASP.NET CoreのWebアプリケーションでRazor Pages の仕組みを利用してアプリケーションを作成する方法です。WebFormアプリケーションの移行先としては一番選択しやすいアプリケーションの種類かと思われます。
MVCモデルではなく、Razor Pageとページに対応したページモデルを利用するモデルのため、シンプルな構成で動作も把握しやすいです。挙動もASP.NET WebFormアプリケーションに近いです。
ASP.NET Core Razor Pagesのアプリケーション作成方法は以下の記事を参照して下さい。
シンプルなアプリケーションの作成
レイアウトページの利用
ASP.NET WebFormアプリケーションでのマスターページと似た機能です。
ASP.NET Core Blazor Server Application
Razor Pagesを利用した場合、画面の切り替わりは基本的にはページ遷移になります。ページ遷移はリンクをクリックして遷移するGETでの遷移か、FormのサブミットボタンのクリックによるPOSTでの遷移のどちらかになります。JavaScriptを記述して、AJAXの実装もできますが、Razor Pagesの仕組みではあまり考慮されていません。
ページ遷移を伴わずに非同期で画面を書き換えたい場合や、ページ遷移のないインタラクティブなWebアプリケーションを作成する場合は、ASP.NET Core Blazor Server Applicationを利用します。
Update Panelを多用したAJAXページがあるWebFormアプリケーションの移行先に適したアプリケーションの種類です。
ページ遷移を伴わないWebアプリケーションをSPA(Single Page Application)と呼びます。
ASP.NET Core Blazor Server Application のアプリケーション作成方法は以下の記事を参照して下さい。
プロジェクトの作成
シンプルなアプリケーションの作成
レイアウトの利用
ASP.NET WebFormアプリケーションでのマスターページと似た機能です。
Razorコンポーネント
スコープ、コードビハインド
ページ遷移
JavaScriptの呼び出し
ファイルのアップロード
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。