.NET開発者のためのブログメディア
【ASP.NET Core入門】ASP.NETとの違いやWebアプリの作成手順
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アプリケーションを作成してみましょう。
Visual Studio 2019を起動し、新しいプロジェクトの作成から「Blazorアプリ」を選択します。
「Index.razor」を開き、次のようにコードを入力します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<input placeholder="タスクを入力" @bind="todoInput" />
<button @onclick="AddTodo">追加</button>
@if (todos.Count > 0) {
<table border="1">
<tr>
<th>タスク</th>
<th>完了</th>
</tr>
@foreach (var todo in todos)
{
<tr>
<td>@todo.Title</td>
<td><input type="checkbox" @bind="todo.IsDone" /></td>
</tr>
}
</table>
}
@code {
// TODOクラス
public class Todo {
public string Title { get; set; }
public bool IsDone { get; set; }
}
private IList<Todo> todos = new List<Todo>();
private string todoInput;
// 追加ボタンが押された時の、TODO追加処理
private void AddTodo() {
todos.Add(new Todo { Title = todoInput });
todoInput = string.Empty;
}
}
|
ここまでの手順で、ToDoアプリケーションの作成は完了です。アプリを起動して動作を確認してみましょう。
- PG
- macOSやLinuxだったら、ASP.NET Coreを使うことで開発できるんですね。
- PL
- そうですね。追加機能やパフォーマンスアップなど、使いやすくなっているのでぜひ使ってみてください。
ASP.NET CoreはWindows以外でも使える
ASP.NET CoreはWindows以外でも使えるようになっているため大変便利です。追加機能やパフォーマンスアップなどメリットも多いため、ASP.NET Coreを使ってみると良いでしょう。
Search キーワード検索
Popular 人気の記事
reccomended おすすめ記事
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅)