ASP.NET - .NET と C# を使用して Web アプリとサービスを構築するためのフレームワーク
初めに
ASP.NET は .NET と C# を使用して Web アプリとサービスを構築するためのフレームワークです。クロスプラットフォームであり、動的な Web サイトや Web アプリケーションを作ることができます。本記事では、Blazor や Razor Pages も含め、ASP.NET についての基本的な説明をします。
Index
ASP.NET とは
ASP.NET は .NET と C# を使用して Web アプリとサービスを構築するためのフレームワークです。クロスプラットフォームであり、動的な Web サイトや Web アプリケーションを作ることができます。
ASP.NET Core とは
ASP.NET 4.x では .NET Framework を使って開発を行いますが、Windows以外では開発できませんでした。ASP.NET CoreはWindowsだけでなく、macOSやLinuxでも開発が可能となりました。
現在は、ASP.NET Core より前に存在していた Windows のみのバージョンを、単に ASP.NET と呼ぶようになっています。
ASP.NET でできること
ASP.NET では、Web アプリを作るためのいくつかのフレームワークが用意されています。ASP.NET のドキュメントを見ると、次のようなキーワードが出てきます。
(リアルタイムの双方向通信をおこなうアプリ)
- SignalR によるリアルタイム Web アプリ
(RPC/リモートプロシージャコールアプリ)
開発または保守管理するアプリの種類に合わせて選択することになります。ドキュメントにチュートリアルが載っています。
Blazor、Razor Pages、ASP.NET Core MVC の違い
Blazor、Razor Pages、ASP.NET Core MVC はいずれも Web アプリを作るためのフレームワークです。次のような違いがあるようです。
Blazor
- クライアントサイドで動作する
- C#やRazor構文を使う
- シングルページアプリケーション(SPA)として機能し、ページの再読み込みなしで動的なUIを構築する
Razor Pages
- サーバーサイドで実行される
- ASP.NET MVC よりも簡単な方法で ASP.NET Core ページを整理しておくことができる
ASP.NET Core MVC
- MVCは「Model-View-Controller」の略で、アプリケーションのロジック、ユーザーインターフェース、およびリクエストの処理を分離する
使い分け
シングルページアプリケーションを作りたい、処理をサーバーでせず、クライアント側でさせたい場合は、Blazor を使う。サーバーサイドで処理をしたい場合やシングルページアプリケーションでない場合は Razor Pages を使うようにすればよいかと思われます。
Microsoft のドキュメントに3つの特徴について、説明があります。
Visual Studio 上で ASP.NET を使う
Visual Studio 上で ASP.NET を使うには、Visual Studio Installer から "ASP.NET と Web 開発" を選択し、インストールする必要があります。
インストールすると、ASP.NET Core Web アプリや Blazor WebAssembly アプリなどのテンプレートが追加されます。
作成したい Web アプリに合ったテンプレートを開き、作成していきます。
(再掲:チュートリアルが載っているドキュメント)
learn.microsoft.com
補足
SignalR
SignalR はリアルタイムの双方向通信を簡単におこなうライブラリです。リアルタイムの双方向通信が必要な例として、チャットや対戦ゲームなどが挙げられます。