.net column

.NET開発者のためのブログメディア
ASP.NET Coreのイメージ

【ASP.NET Core入門】ASP.NETとの違いやWebアプリの作成手順

2020年02月05日

ASP.NETでアプリケーションを作成する際には、.NET Frameworkが使われてきました。ただ、.NET Frameworkは開発に使用できるOSが限られていて、Windows以外のOSでは開発することができないという問題点がありました。
その点を解決すべく、マルチプラットフォームに対応したASP.NET Coreが登場しました。

SE
MacのパソコンでASP.NETを使用して開発したいです!.NET Frameworkは使えないようですが、どうしたら良いでしょう?
PM
そういう場合は、ASP.NET Coreを使用して開発すると良いです。ASP.NET Coreについて一緒に確認していきましょう。

実行環境
・Visual Studio 2019(.NET Core 3.1)

ASP.NET Coreの概要

ASP.NET CoreはASP.NET 4.xを再設計したものです。ASP.NET 4.xでは.NET Frameworkを使って開発を行いますが、Windows以外では開発できませんでした。

ASP.NET CoreはWindowsだけでなく、macOSやLinuxでも開発が可能となりました。
Windows以外でも開発可能になったことで大きく使いやすくなり、2019年現在はmacOSのシェアも高くなっているので、多くのユーザーに対応することができます。

また、ASP.NET 4.xで利用可能だった、MVCやWeb APIなどの機能も同様に利用することができます。今までASP.NET 4.xで開発を行ってきた人にとって、スムーズに利用することが可能です。

そのほか、利用できる機能は引き継ぎながら、機能や性能も上がっています。
まず、ASP.NET 4.xより高いパフォーマンスが出るように改良されています。さらに、タグヘルパーという新しい機能でHTML要素の作成やレンダリングにサーバー側のコードが使えるようになるなど、新たな機能も追加されています。

フロントエンド・バックエンドすべてをC#で書ける「Blazor」

Blazor(ブレイザー)は、ASP.NET Coreで使えるようになった注目のフレームワークです。
通常、フロントエンドの処理はJavaScirptを使用しますが、Blazorを利用することでC#を使って記述できます。

Blazorの登場により、フロントエンド・バックエンドを共にC#を使ったアプリケーション構築が可能になりました。

Blazorには、BlazorサーバーとSignalR(Webソケット)通信を通じてHTMLタグなどのDOM要素を生成するサーバーサイドレンダリングと、「WebAssembly」を使用して、ブラウザ上でDOMを生成する2つのモードが用意されています。

今後のASP.NET

現在は2つに分かれて存在しているASP.NET 4.xと、ASP.NET Coreですが、 ASP.NET 5では、 ASP.NET Coreをベースに1つに統合されることが、マイクロソフトより発表されています。

ASP.NET CoreとASP.NET 4.xの違い

ここで、ASP.NET CoreとASP.NET 4.xの違いをまとめます。

利用できるOS

・ASP.NET Core
Windows以外にも、 macOS、Linuxでも利用可能

・ASP.NET 4.x
Windowsのみ

利用できる言語

・ASP.NET Core
C#、またはF#

・ASP.NET 4.x
C#、VB、F#

利用できる統合開発環境

・ASP.NET Core
Visual Studio、Visual Studio for Mac、Visual Studio Code

・ASP.NET 4.x
Visual Studio

対応している機能

・ASP.NET Core
MVC、SignalR、Web API

・ASP.NET 4.x
Webフォーム、MVC、SignalR、Web API

対応しているWebサーバ

・ASP.NET Core
Kestrel、IIS、HTTP.sys、Nginx、Apache、Docker

・ASP.NET 4.x
IIS

ASP.NET CoreはWebフォームに対応していません。Webフォームでは、IISというWindows用のWebサーバーを使用しているためです。
ASP.NET 4.xのすべてのアプリがASP.NET Coreで動くというわけではないので注意が必要です。

ASP.NET CoreでWebアプリケーションを作成するには、ASP.NET Core MVCを使うことになります。ASP.NET Core MVCは、他の言語で利用されているMVCフレームワークと似た作りになっているので、扱いやすいフレームワークです。

簡単なWebアプリケーションの作成手順

最後に、ASP.NET Coreで簡単なアプリケーションを作成します。
今回は、Blazorを使って、次のイメージのようなToDoアプリケーションを作成してみましょう。

Blazorアプリケーション

Visual Studio 2019を起動し、新しいプロジェクトの作成から「Blazorアプリ」を選択します。

Blazorアプリのプロジェクトの作成

「Index.razor」を開き、次のようにコードを入力します。

ここまでの手順で、ToDoアプリケーションの作成は完了です。アプリを起動して動作を確認してみましょう。

PG
macOSやLinuxだったら、ASP.NET Coreを使うことで開発できるんですね。
PL
そうですね。追加機能やパフォーマンスアップなど、使いやすくなっているのでぜひ使ってみてください。

ASP.NET CoreはWindows以外でも使える

ASP.NET CoreはWindows以外でも使えるようになっているため大変便利です。追加機能やパフォーマンスアップなどメリットも多いため、ASP.NET Coreを使ってみると良いでしょう。

>>>ASP.NETの案件を探すならFEnet .NET Navi


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)