Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

ASP.NET Coreの概要を理解してセットアップしよう

いよいよ登場「ASP.NET Core 1.0」 マルチプラットフォームな.NETとは? 第1回

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

 2016年6月27日、WindowsだけではなくMacやLinuxといったマルチプラットフォームで動作する.NET環境、.NET Core 1.0、ASP.NET Core 1.0、Entity Framework Core 1.0が公開されました。そこで、本稿ではC#を用いてWebアプリケーションを開発できる「ASP.NET Core」について紹介します。

目次

 なお、この記事は2014年に公開した『クラウド時代に最適化されるASP.NET vNextとは』を大幅に加筆修正しております。全3回に渡り、既存のASP.NET MVCとの相違点を中心に紹介します。

 

ASP.NETの歴史

 1996年のActive Server Pages、2002年のASP.NET、2009年のASP.NET MVCというように、Microsoft社は約6年に1回のペースで新しいWeb技術を公開してきました。そして、ついに2016年「ASP.NET Core」を公開しました。最新のASP.NET Coreはオープンソースで開発されており、プラットフォームに依存しない柔軟な基盤となりました。本稿では、Visual Studioで生成される基本テンプレートを元に「ASP.NET Core」の概要についてご紹介します。

ASP.NET Coreとは

 ASP.NET Coreは、ASP.NET 4.6の後継として「ASP.NET 5.0」という名前で呼ばれていた時もありましたが、最終的には「ASP.NET Core 1.0」という別系統のラインナップとなりました。ASP.NET Coreでの大きな違いは、動作するOS環境がWindowsに加えMacとLinuxに正式に対応したことです。

 ASP.NET 4.6とASP.NET Core 1.0の主な相違点を見てみましょう。

ASP.NETとASP.NET Coreの相違点
名前 ASP.NET4.6 ASP.NET Core 1.0
正式対応OS Windowsのみ Mac/Linux/Windows
対応プラットフォーム .NET Frameworkのみ .NET Framework/.NET Core
IISへの依存
MVC/WebAPI/WebPages機能 ○(別クラス) ○(統合済み)
WebForm機能 ×
WebService機能(asmxやWCF) ×
オープンソース開発 ×

 これらの「機能」「プラットフォーム」「Webサーバー」「OS」の関係を整理すると下図のようになります。

新たに登場した「ASP.NET Core」とは
新たに登場した「ASP.NET Core」とは

 これまで個別の機能であった「ASP.NET MVC」「WebAPI」「WebPages」は、ASP.NET Coreで再設計され、1つに統合されました。これらを含め、ASP.NET Coreではオープンソースで開発されていることも大きな特徴と言えるでしょう。

.NET Coreとは

 ASP.NET Coreでは、従来の「.NET Framework」だけではなく、マルチプラットフォームで動作する「.NET Core」を使用できるようになりました。.NET Coreと.NET Frameworkの相違点についても見てみましょう。

.NET Frameworkと.NET Coreの相違点
機能 .NET Framework .NET Core
対応OS Windowsのみ Mac/Linux/Windowsなど
インストール方式 インストーラーで導入 アプリケーション別に取得
主な特徴 OSに1つの制約あり アプリに応じて複数導入可
オープンソース ×
実行コマンド EXE実行またはDLL呼び出し dotnetコマンドから呼び出し

 従来の.NET Frameworkでは、各サーバーにインストールする際、他アプリへの影響を心配してバージョンアップに慎重になる必要がありました。これに対して、.NET Coreでは、各アプリケーションがそれぞれ必要な.NETライブラリを利用できます。

 さらに、Linux/Mac/Windows共通で使用できるコマンドラインインターフェース「dotnetコマンド」が用意されています。このコマンドを使用することで、リポジトリから取得してきたソースコードを、環境を意識することなく依存解決を行い、ビルドし、実行できるようになりました。

新しいWebサーバー「Kestrel」

 従来のASP.NETアプリケーションではIISと連携して動作していましたが、ASP.NET CoreではIISに依存することなく動作します。libuvベースのKestrelという新しいWebサーバーが提供され、IISやNginxとの連携することもできます。


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

著者プロフィール

  • WINGSプロジェクト 青木 淳夫 (株式会社ネクストスケープ)(アオキ アツオ)

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

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

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

バックナンバー

連載:いよいよ登場「ASP.NET Core 1.0」 マルチプラットフォームな.NETとは?
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5