SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

 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」について紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

 なお、この記事は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との連携することもできます。

次のページ
開発環境(Visual Studioと.NET Core)の準備

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
いよいよ登場「ASP.NET Core 1.0」 マルチプラットフォームな.NETとは?連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 青木 淳夫(アオキ アツオ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9681 2016/12/14 10:40

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング