About .Net vNext 
C#勉強会Fukuoka #6 
濱本一慶(Hamamoto Kazunori) 
2014/11/27
自己紹介 
濱本一慶(はまもとかずのり) 
@airish9 
C#とVB.NETでご飯を食べてます! 
エンタープライズ系の開発中心 
Azureで好きなサービスはモバイルサービス 
お仕事ではC#とVB.NETを半々くらい 
最近はインフラエンジニアっぽい事をやっています
.NET vNextって・・・? 
▪ TechEd NAにて発表された新しい.NET 
▪ .NET Framework vNext とASP.NET vNext と呼ばれる物がある 
▪ いままでの.NETと違ってとてもオープンな.NET
.NETの歴史 
1.0 
2.0 
3.0 
4.0 
4.5 
2002年1月2005年11月2006年11月2010年4月2012年8月 
vNext 
CLR 
IL 
ADO.NET 
SOAP 
XAML 
REST 
Dynamic 
非同期
.NET Frameworkの内部構成
2種類のvNext 
▪ .NET vNext 
▪ .NET Compiler Platform(Roslyn) によるコンパイル 
▪ 新しいC#やVB.NET 
▪ ASP.NET vNext 
▪ side-by-side 実行できる.NET(ランタイムのインストールが不要に!) 
▪ Roslynによる実行時コンパイル!(しかし遅い…) 
▪ MVC6、SignalR 6、EF7 etc…
vNextを支えるOWIN、Helios、KatanaProject 
▪ ASP.NET vNextでは必ずしもIISを必要としなくなった!! 
▪ System.Webには必ずしも依存しない 
▪ セルフホストでASP.NETを実行できる! 
▪ Monoプロジェクトでも実行できる! 
「OWIN」「K Runtime」「Helios」のおかげ!!
vNextを支えるOWIN、Helios、KatanaProject 
▪ OWIN(Open Web Interface for .NET) 
▪ WebサーバとWebアプリを疎結合にするためのインタフェース 
▪ http://owin.org/ 
▪ Helios 
▪ System.Webに依存しないIIS上で動作するOWINサーバー 
▪ Katana Project 
▪ MicrosoftのOWIN実装プロジェクト 
▪ K RuntaimeとしてASP.NET vNextに登場する 
▪ http://katanaproject.codeplex.com/
vNextを支えるOWIN、Helios、KatanaProject
ASP.NET vNext まとめ 
▪ Side-by-side実行による非ランタイムインストール実行 
▪ Roslynによる実行時コンパイル 
▪ OWIN実装によるIISに依存しないASP.NET実行環境 
▪ Windows以外の開発&実行環境(Mono) 
https://github.com/aspnet http://aspnet.codeplex.com/
ASP.NET vNext まとめ 
とか言ってたのが1週間前…
Connect() で色々な発表がありました 
http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014
Connect() で色々な発表がありました 
▪ 11月12日~13日に行われた発表会 
▪ VisualStuido vNext とMicrosoftAzureの内容が中心 
▪ VisualStudioの発表と言いながらも.Netに関する大発表がありました
Connect() で色々な発表がありました 
▪ VisualStudio Community 
▪ .Net Coreのオープンソース化 
▪ ASP.NET 5の発表 
▪ VisualStudio 2015 
▪ OmniSharp
.NET Core Open Source 
▪ .NETのすべてのソースではなくServer-Stack部分のみ公開 
▪ LinuxやMacなどの非Windows環境での.NET実行環境の改善に期待 
▪ 今後、公開範囲が増えてくれると嬉しい 
https://github.com/dotnet/core
ASP.NETが2つのバージョンになります 
▪ ASP.NET 4.6 
▪ 従来のASP.NET 4.5から受け継いだバージョン 
▪ ASP.NET 5 
▪ ASP.NET vNextと呼ばれていた 
▪ OS XやLinuxでの実行をサポートする
ASP.NET 5 
▪ 基本的にASP.NET vNextの名称が変わっただけ 
▪ MVC 6 
▪ 実行時コンパイル 
▪ IISを必要としないSelf Hosting 
▪ VisualStudio 2015 Previewで使用可能 
▪ プロジェクトテンプレートが従来の形と大きく異なる
ASP.NET 5 のプロジェクトテンプレート 
▪ 設定ファイルにjsonを使用する。 
▪ global.json (プロジェクトの参照関係に使用)、project.json (プロジェクト設定) 
▪ パッケージ管理にnpmとBowerを使用する 
▪ タスク実行にGruntを使用する
npm、Bower、Grunt 
▪ ASP.NETでは縁がなかったパッケージ管理&タスクランナー 
▪ npm 
▪ Node.jsで使用されているパッケージマネージャー、BowerとGruntが必要とする 
▪ Bower(バウアー) 
▪ フロントエンド用のパッケージマネージャー 
▪ Javascriptライブラリの依存関係やバージョン管理を補助してくれる 
▪ Twitter社が作ったらしい 
▪ .NETerに解りやすく説明するなら、NuGetの様なもの
npm、Bower、Grunt 
▪ Grunt 
▪ Node.jsで動作するタスクランナー 
▪ 定義ファイルで実行タスクを定義する 
▪ JavaScriptの圧縮(minify)や結合 
▪ altJSのコンパイル
OmniSharp 
▪ 様々なエディタで.NETを開発できるようにするプロジェクト 
▪ MacやLinuxのエディタでも開発できるようにする計画 
▪ Sublime Text 
▪ Atom 
▪ Emacs 
▪ Vim 
http://www.omnisharp.net/
.NET vNext まとめ 
▪ Windows以外での実行環境をサポートするようになってきた 
▪ 開発環境もWindowsに縛られる事はなくなってきた 
▪ オープンなMicrosoftになろうとしている
Connect()内容が気になる方は… 
http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014
気になるけど英語はちょっと・・・っていう方は 
https://st.schoo.jp/class/1540
ご清聴ありがとうございました

About .Net vNext