Windowsだけじゃない!クロスプラットフォームに対応したASP.NET 5

Visual Studioを知っている人も、昔使っていた人も、全然使ったことがない人もこんにちは。Microsoft MVP for .NET (C#) の鈴木孝明です。

今回は最新のWebアプリケーションを開発するためのオープンソースWebフレームワーク、ASP.NET 5を紹介しようと思います。

「ASP.NETってどーせWindowsだけなんでしょ?」

いえいえ、そんなことはありません。Windowsを使っている人はもちろんのこと、Mac OS/Linuxを使っている方も要注目です!

様々な環境にホスティング!流行りのDockerにも!

ASP.NET 5アプリケーションは様々なホスティング形態をとることができます。これまでのASP.NETであればWindows Server上のIISへのホスティングが基本で、OWINに対応しているWeb APIやSignalRはセルフホスティングも可能でした。

クロスプラットフォームに対応したASP.NET 5では、これらに加えMax OS、Linux、そして今注目のコンテナ仮想化技術であるDocker上でも動作させることができるようになりました!もちろん、Microsoft Azureが提供するWebアプリホスティング用のPaaS環境、Web Apps (旧Websites) でもこれまで通り動かせます。本当に実行環境を選びません。

aspnet5-on-docker

Visual Studio CodeでMac OSやLinux上でもASP.NET 5アプリ開発!

ASP.NET 5でアプリ開発をするのに最適な環境はもちろんVisual Studio 2015ですが、残念ながらMac OSやLinuxでは利用することができません。そこに登場したのが、Windows だけでなくMac OSやLinuxでも動作するコードエディターVisual Studio Codeです。

visual_studio_code

数多くの言語に対応していますが、特にC#とTypeScriptでは強力なインテリセンス (コード補完) が効きます。標準搭載されているデバッグ機能やGit連携機能とも相まって、バックエンドはASP.NET 5 (C#)、フロントエンドはTypeScriptという最先端のWebアプリ開発スタイルを大きく後押ししてくれます。Mac OSやLinuxをご利用の方も、ぜひ試してみてください!

モダンなWebアプリ開発と言えばYeoman

イマドキなWebアプリケーションの構築をサポートするクライアントサイドツール群と言えばYeoman。非Visual Studio環境な方々にはお馴染みかもしれませんね。もちろんASP.NET 5もこれに対応しています。

例えばプロジェクトの雛形を作るYo。Visual Studioをお持ちでない方 (特にMac OSやLinux環境の方) はyoコマンドを使ってアプリケーションの雛形を生成し、そこから開発を始めるのがお手軽です。詳しい手順はこちらから。

yo

すべてのWebアプリ開発者の選択肢にASP.NET 5を

ここまでASP.NET 5が様々な環境で開発/実行できることを紹介してきました。ではなぜクロスプラットフォームなのか、何がASP.NET 5のクロスプラットフォームを支えているのかを少しだけ。

これまでのASP.NETも確かに高機能で開発生産性も高い優れたWebフレームワークでしたが、Windows専用のアプリケーション実行/開発基盤である.NET Framework上でしか動作しませんでした。しかし、世の中にはMac OS/Linuxをメインで使っているWebアプリ開発者さんたちが大勢います。実行環境の制約のせいで「採用の選択肢にすら挙がらない」のでは、どんなに素晴らしいものでも門前払いになってしまいます。

より多くのユーザーにASP.NETでアプリ開発をしてもらいたい。そう考えたMicrosoftは、「.NET Core」と呼ばれるよりフットプリントの小さい、モジュール形式のクロスプラットフォームなイマドキのランタイムを開発しました。ASP.NET 5はこの.NET Core (および既存の.NET Frameworkの両方) で動作するので、Windows/Mac OS/LinuxのすべてのユーザーがASP.NET 5を使うことができるようになりました。

dotnet2015

.NET Coreは現在プレビュー版のみのリリースで正式版がいつリリースされるかは未定ですが、GitHub上で絶賛開発中なので、その進捗を垣間見ることができます。

実践してみたい方はこちらもチェック!

開発から実行までのすべてを非Windows環境で実現できるASP.NET 5。実際に動かしてみたくなった方は以下の記事もご参考に!動かすところまでできたら、少しずつ機能を追加して遊んでみてください。きっとASP.NET 5の可能性を感じられると思います。

ASP.NET 5アプリをMac OS上で実行する

ASP.NET 5アプリをLinux上で実行する

ASP.NET 5アプリをDocker上で実行する

Azure Web AppsにASP.NET 5アプリを配置する

ASP.NET 5 Documentation

ASP.NET 5 Wiki

me

鈴木 孝明

Microsoft MVP for .NET (C#)

株式会社ALL CONNECT / Hokuriku.NET

xin9le.net