Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

「ASP.NET Core 2.0」の変更点とインストール方法を知ろう

進化した「ASP.NET Core 2.0」新しいWeb開発手法を学ぶ 第1回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/10/31 14:00

 2017年8月14日、「ASP.NET Core 2.0」が公開されました。また同時に実行基盤である「.NET Core 2.0」やO/Rマッパーである「Entity Framework Core 2.0」も公開されたことで、ASP.NET Coreもいよいよ実用レベルとなってきました。さらに、「Razor Pages」やSPAテンプレートの充実など、従来のASP.NETにないASP.NET Coreが先行する機能も登場しました。本連載ではそれらのASP.NET Core 2.0の魅力を新機能の説明を中心に紹介していきます。1回目の今回は、ASP.NETの概要と、ASP.NET Core 2.0で追加された新機能、および導入方法について紹介します。

目次

対象読者

  • 新しいASP.NET Coreの機能について知りたい方
  • MacやLinuxなどでASP.NET Coreアプリケーションを動かしたい方

検証環境

 本稿では、以下の環境で動作を確認しています。

  • Windows 10
  • macOS Sierra 10.12.6

ASP.NETとは? 歴史と概観を知ろう

 まずはASP.NETについての概要を改めて確認していきましょう。

ASP.NETの概要

 ASP.NETは、前身となるActive Server Pagesが1996年に登場して以来、MicrosoftにおけるWebのフレームワークとして広く利用されています。現在のASP.NETは、利用用途別にさらにサブフレームワークが複数存在しており、「Webアプリケーション用途」「Webサービス用途」の2つに大別できます。

 それぞれ、以下のようなサブフレームワークが存在します。

  • Webアプリケーション用途:「ASP.NET MVC」「Web Forms」「Web Pages」の3つ
  • Webサービス用途:「ASP.NET Web API」「SignalR」の2つ

(1)ASP.NET MVC

 2009年に登場し、現在ASP.NETでのWebアプリケーション開発の主流となっているフレームワークです。その名の通りMVC(Model-View-Controller)デザインパターンに沿ったWebアプリケーションを開発するためのフレームワークであり、Razorと呼ばれるビューエンジンを使ったビュー開発やスキャフォールディング機能を使ったCRUD機能の半自動生成、クラウドサービスであるMicrosoft Azureへのアプリケーションのデプロイといった開発支援機能もサポートしています。

(2)Web Forms

 ASP.NETの中で最も古くから存在するフレームワークであり、サーバーコントロールと呼ばれるUI部品をドラッグ&ドロップで配置してアプリケーションを開発していきます。Windowsアプリケーションの流れをくんだ開発手法ではありましたが、単体テストの実行が難しかったり、固有の概念が多かったりなどの理由から、現在では利用される機会が減ってきています。

(3)Web Pages

 PHPのようにHTMLの中にコードを埋め込むモデルを採用していますが、小規模利用を想定していることもあって、あまり普及していません。

(4)ASP.NET Web API

 ASP.NETにおけるAPIの開発用フレームワークです。ASP.NET MVCでもAPIを作成することはできますが、Web APIの方が機能特化しているため使い分けて利用することが勧められています。

(5)SignalR

 ASP.NETをリアルタイム通信に対応させるためのライブラリです。クライアントからのWebSocket、Server Sent Events、Forever Frame、Ajax Long pollingといった通信手段をライブラリが判別して最適な通信手段を選択するため、開発者が低レベルな手続きを意識しなくていいなどの特長があります。

ASP.NETとASP.NET Core

 ASP.NETについて概要を確認しました。次はASP.NETとASP.NET Coreの違いについて見ていきます。

 ASP.NET Coreは一言でいうと、「マルチプラットフォームに対応したASP.NET」です。厳密には、ASP.NET Coreの実行基盤にあたる「.NET Core」がマルチプラットフォームに対応しているためで、ASP.NET Coreはその.NET Core上で動作させることができるASP.NETです(図1の通り、.NET Framework上でも動作が可能です)。

図1 .NETとASP.NETの関係
図1 .NETとASP.NETの関係

 その他にも、ASP.NET Core 2.0には後ほど説明するRazor Pagesという新しい手法が追加されていることや、SignalRがアルファ版であるといった相違点があります。

ASP.NETとASP.NET Coreの相違点
比較点 ASP.NET ASP.NET Core 2.0
対応OS Windows Windows, macOS, Linux
対応サブフレームワーク MVC, Web Forms, Web Pages, Web API, SignalR MVC, Razor Pages, Web API, SignalR(アルファ版)
1台のマシンで実行できるバージョン 1台に1バージョン 1台で複数バージョン
対応言語 C#, VisualBasic, F# C#

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 秋葉 龍一(アキバ リュウイチ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5