~ MVP Community Camp 2015 ~
東北と北陸を Kinect & ASP.NET & Azure で接続してみる
日本マイクロソフト株式会社
井上 章
MSP Fellow, サトヤ仙台
五十嵐 祐貴
せっかくなので
Azure を使って
つないじゃおう☆彡
Demo …
Kinect v2 + Unity + ASP
.NET + Azure
Microsoft
Azure
仙台と北陸をつなぐ仕組み
 多様化するデバイス
 マルチデバイス (PC, Tablet, Smartphone ...)
 クロス プラットフォーム
 IoT (Internet of Things)
 不可欠な Web 技術
 HTML, CSS, JavaScript, HTTP, REST ...
 クラウド環境の普及と活用
 スケーラビリティとアベイラビリティ
 ビッグデータ分析
Productivity Future Vision
近未来の IT, Cloud, Web ...
~ Linux & Mac OS でも動く!~
クロス プラットフォーム対応に見る
ASP.NET 5 の可能性
井上 章 (いのうえ あきら) http://aka.ms/chack
日本マイクロソフト株式会社
デベロッパー エクスペリエンス & エバンジェリズム統括本部
エバンジェリスト
.NET 2015 / ASP
.NET 5
Openness
.NET とは?
ライブラリ
ランタイム 言語 ツール
.NET Framework の構成
OS
共通言語ランタイム
(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤
(CLI : Common Language Infrastructure)
VB C# C++ • .NET 対応の開発言語を利用可能
• 型などの共通仕様
• 言語間のコンポーネント呼び出しが可能
• IO, ネットワーク, 暗号化 …
• ASP.NET, ADO.NET …
• 実行制御
(メモリ管理, スレッド制御, 例外処理, セキュリティ …)
・・・
http://aka.ms/connect
(米国イベントサイト: Channel9)
イベント ダイジェスト
• .NET Core Open Source and
Cross-platform
• Visual Studio Community 2013
• Visual Studio 2015 Preview
• .NET 2015 Preview
• Visual Studio 2013 Update 4
• MSDN Updates
 次期バージョン Visual Studio 2015 プレビュー版リリース
 RTM (正式リリース) は 2015 年を予定
※ プレビュー版は Go-live ライセンスではないため運用環境で利用不可
 Azure 仮想マシン イメージが利用可能
 Visual Studio Ultimate 2015 Preview + Windows Server 2012 R2
 .NET 2015
 .NET Framework 4.6 / .NET Core 5
 .NET Compiler Platform (“Roslyn”)
Visual Studio 2015 Preview / CTP 5
Next Version of Visual Studio
http://aka.ms/jpvs2015preview
Visual Studio 2015 Secondary Installer
Visual Studio 2015 インストールで
セットアップされるソフトウェア群
• Android NDK, SDK
• Visual Studio Emulator for Android
• Apache Ant
• Git CLI
• Google Chrome
• Java SE Development Kit
• Joyent Node.js
• WebSocket4Net
 ポピュラーなサードパーティー製ツールを採用
 Bower – Twitter 社製クライアントサイド パッケージ マネージャー
 Grunt, Gulp – node.js ベース ビルドタスク自動化ツール(タスクランナー)
 npm – Node パッケージ マネージャー, Bower, Grunt, Gulp が利用
 ※ .NET Framework 関連のパッケージ マネージャーは NuGet を利用
Visual Studio 2015 Web 開発
Web Development with Visual Studio 2015
.NET Framework & Core
.NET 2015
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Runtime Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
.NET Core 5 Libraries
.NET Framework 4.6 Libraries
NuGet packages
ASP.NET 5
ASP.NET 4.6
WPF
Windows Forms
.NET Framework 4.6 .NET Core 5
ASP.NET 5
.NET Native (for Windows 10)
Windows desktop
Windows mobile devices
Windows embedded devices
ASP.NET 5 for Mac and Linux
ASP.NET 5 – 軽量, 高速, オープン
www.asp.net/vnext : github.com/aspnet
Open
Source
Operating System
Runtime Loader
Runtime
Platform Libraries
Application Host
Web Server
Application Frameworks
Libraries
Application
Windows
IIS: WebEngine4.dll
Exe: OS
.NET CLR
.NET BCL & FCL
System.Web
IIS
FCL, GAC, NuGet
Loose, GAC, NuGet
MSBuild -> csc.exe
CodeDOM -> csc.exe
Windows, OSX,
Linux
“KRE”
.NET CLR
.NET Core CLR
.NET BCL & FCL
.NET on NuGet
“KRE”
IIS, HTTP.SYS
Kestrel
NuGet
NuGet
KRE and Roslyn
.NET Framework .NET Core
 KRuntime (KRE)
 ASP.NET 5 アプリケーションのビルド・実行環境, SDK
 Core CLR, Application Host, Roslyn Loader, …
 K command
 ランタイム エントリ ポイント
 例: “k run”, “k web”, …
 K Version Manager (KVM)
 KRE バージョン管理 : install, upgrade, list, use, alias
 K Package Manager (KPM)
 アプリケーションのパッケージ管理 : restore, install, pack
ASP.NET 5 : ランタイム
ASP
.NET 5 Runtime
KRE
K
App
KVM
KPM
 project.json
 ランタイム バージョンや依存関係などの実行に必要な情報を記述
 Visual Studio 設定などの開発ツール関連情報は含まない
ASP.NET 5 : プロジェクト設定
ASP
.NET 5 Runtime
{
"dependencies": {
"Microsoft.AspNet.ConfigurationModel": "1.0.0-alpha4",
}
"commands": {
"web": "Microsoft.AspNet.Hosting server= ..."
},
"configurations": {
"aspnet50": {"dependencies": { ... }},
"aspnetcore50": {"dependencies": { ... }}
}
}
 Full .NET CLR
 Visual Studio プロジェクトでデフォルトとなる CLR
 すべての API セットと後方互換性を持つ
 およそ 200 MB, Side-by-Side 実行が可能
 Core CLR (クラウドに最適化されたランタイム)
 ASP.NET 5 のために完全にモジュール化された CLR
 NuGet パッケージとして必要なモジュールだけを組み込める
 およそ 11 MB, Side-by-Side 実行可能
 Cross-Platform CLR
 Linux と Mac OS 対応のクロスプラットフォーム CLR
 ASP.NET 5 アプリケーションの Linux や Mac OS 上での開発と実行が可能
3 つの CLR
Three Runtimes for ASP
.NET 5
 Microsoft.AspNet.Loader.IIS (Helios)
 IIS ホスト
 System.Web には非依存 (Helios ベース)
 他の IIS モジュールとともに統合される
 Microsoft.AspNet.Server.WebListener (WebListener)
 Microsoft.AspNet.Hosting でロードされる (IIS には非依存)
 Http.sys カーネール ドライバー上で直接実行
 Microsoft.AspNet.Server.Kestrel (Kestrel)
 Microsoft.AspNet.Hosting でロードされる (IIS には非依存)
 クロスプラットフォーム (Windows, Mac, Linux) 対応 (予定)
ASP.NET 5 : ホスト サーバー
ASP
.NET 5 Servers
 .NET Core 5 のクロスプラット
フォーム対応
 Linux & Mac サポート
(Mono Project)
 Visual Studio の Linux サポート
(Debug, Docker など)
 Sublime 拡張
(OmniSharp / Kulture)
 コンテナー型のアプリケーション仮想化技術
 ハイパーバイザー型の仮想化よりも軽量
 オープンソース
Docker について
What is Docker?
Server
Host OS
Hypervisor
Guest OS
Bins/Libs
App A
Guest OS
Bins/Libs
App B
Server
Host OS
Docker Engine
Bins/Libs
App A
Bins/Libs
App B
Docker
仮想マシン
Direction of Visual Studio and .NET
.NET の今後
Future of .NET
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
ランタイム コンパイラー
.NET Compiler Platform (“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
ライブラリ
Microsoft Tools and Technology Vision
すべての開発者
すべてのアプリ
インフラ技術者、開発者をはじめ、IT に携わるすべてのエンジニアのための
技術コンファレンス
開催日時: 5 月 26 日 (火) - 27 日 (水)
開催場所: ザ・プリンス パークタワー東京
http://aka.ms/decode15
© 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and
Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Linux & Mac OS でも動く! ~ クロスプラットフォーム対応に見る ASP.NET Core 5 の可能性 ~

  • 1.
    ~ MVP CommunityCamp 2015 ~ 東北と北陸を Kinect & ASP.NET & Azure で接続してみる 日本マイクロソフト株式会社 井上 章 MSP Fellow, サトヤ仙台 五十嵐 祐貴
  • 2.
  • 3.
    Demo … Kinect v2+ Unity + ASP .NET + Azure
  • 4.
  • 5.
     多様化するデバイス  マルチデバイス(PC, Tablet, Smartphone ...)  クロス プラットフォーム  IoT (Internet of Things)  不可欠な Web 技術  HTML, CSS, JavaScript, HTTP, REST ...  クラウド環境の普及と活用  スケーラビリティとアベイラビリティ  ビッグデータ分析 Productivity Future Vision 近未来の IT, Cloud, Web ...
  • 8.
    ~ Linux &Mac OS でも動く!~ クロス プラットフォーム対応に見る ASP.NET 5 の可能性 井上 章 (いのうえ あきら) http://aka.ms/chack 日本マイクロソフト株式会社 デベロッパー エクスペリエンス & エバンジェリズム統括本部 エバンジェリスト
  • 9.
    .NET 2015 /ASP .NET 5 Openness
  • 10.
  • 11.
    .NET Framework の構成 OS 共通言語ランタイム (CLR: Common Language Runtime) 各種ライブラリ 共通言語基盤 (CLI : Common Language Infrastructure) VB C# C++ • .NET 対応の開発言語を利用可能 • 型などの共通仕様 • 言語間のコンポーネント呼び出しが可能 • IO, ネットワーク, 暗号化 … • ASP.NET, ADO.NET … • 実行制御 (メモリ管理, スレッド制御, 例外処理, セキュリティ …) ・・・
  • 12.
    http://aka.ms/connect (米国イベントサイト: Channel9) イベント ダイジェスト •.NET Core Open Source and Cross-platform • Visual Studio Community 2013 • Visual Studio 2015 Preview • .NET 2015 Preview • Visual Studio 2013 Update 4 • MSDN Updates
  • 13.
     次期バージョン VisualStudio 2015 プレビュー版リリース  RTM (正式リリース) は 2015 年を予定 ※ プレビュー版は Go-live ライセンスではないため運用環境で利用不可  Azure 仮想マシン イメージが利用可能  Visual Studio Ultimate 2015 Preview + Windows Server 2012 R2  .NET 2015  .NET Framework 4.6 / .NET Core 5  .NET Compiler Platform (“Roslyn”) Visual Studio 2015 Preview / CTP 5 Next Version of Visual Studio http://aka.ms/jpvs2015preview
  • 14.
    Visual Studio 2015Secondary Installer Visual Studio 2015 インストールで セットアップされるソフトウェア群 • Android NDK, SDK • Visual Studio Emulator for Android • Apache Ant • Git CLI • Google Chrome • Java SE Development Kit • Joyent Node.js • WebSocket4Net
  • 15.
     ポピュラーなサードパーティー製ツールを採用  Bower– Twitter 社製クライアントサイド パッケージ マネージャー  Grunt, Gulp – node.js ベース ビルドタスク自動化ツール(タスクランナー)  npm – Node パッケージ マネージャー, Bower, Grunt, Gulp が利用  ※ .NET Framework 関連のパッケージ マネージャーは NuGet を利用 Visual Studio 2015 Web 開発 Web Development with Visual Studio 2015
  • 16.
    .NET Framework &Core .NET 2015 Next gen JIT (“RyuJIT”) SIMD (Data Parallelization) Runtime Compilers .NET Compiler Platform (“Roslyn”) Languages innovation .NET Core 5 Libraries .NET Framework 4.6 Libraries NuGet packages ASP.NET 5 ASP.NET 4.6 WPF Windows Forms .NET Framework 4.6 .NET Core 5 ASP.NET 5 .NET Native (for Windows 10) Windows desktop Windows mobile devices Windows embedded devices ASP.NET 5 for Mac and Linux
  • 17.
    ASP.NET 5 –軽量, 高速, オープン www.asp.net/vnext : github.com/aspnet
  • 18.
    Open Source Operating System Runtime Loader Runtime PlatformLibraries Application Host Web Server Application Frameworks Libraries Application Windows IIS: WebEngine4.dll Exe: OS .NET CLR .NET BCL & FCL System.Web IIS FCL, GAC, NuGet Loose, GAC, NuGet MSBuild -> csc.exe CodeDOM -> csc.exe Windows, OSX, Linux “KRE” .NET CLR .NET Core CLR .NET BCL & FCL .NET on NuGet “KRE” IIS, HTTP.SYS Kestrel NuGet NuGet KRE and Roslyn .NET Framework .NET Core
  • 19.
     KRuntime (KRE) ASP.NET 5 アプリケーションのビルド・実行環境, SDK  Core CLR, Application Host, Roslyn Loader, …  K command  ランタイム エントリ ポイント  例: “k run”, “k web”, …  K Version Manager (KVM)  KRE バージョン管理 : install, upgrade, list, use, alias  K Package Manager (KPM)  アプリケーションのパッケージ管理 : restore, install, pack ASP.NET 5 : ランタイム ASP .NET 5 Runtime KRE K App KVM KPM
  • 20.
     project.json  ランタイムバージョンや依存関係などの実行に必要な情報を記述  Visual Studio 設定などの開発ツール関連情報は含まない ASP.NET 5 : プロジェクト設定 ASP .NET 5 Runtime { "dependencies": { "Microsoft.AspNet.ConfigurationModel": "1.0.0-alpha4", } "commands": { "web": "Microsoft.AspNet.Hosting server= ..." }, "configurations": { "aspnet50": {"dependencies": { ... }}, "aspnetcore50": {"dependencies": { ... }} } }
  • 21.
     Full .NETCLR  Visual Studio プロジェクトでデフォルトとなる CLR  すべての API セットと後方互換性を持つ  およそ 200 MB, Side-by-Side 実行が可能  Core CLR (クラウドに最適化されたランタイム)  ASP.NET 5 のために完全にモジュール化された CLR  NuGet パッケージとして必要なモジュールだけを組み込める  およそ 11 MB, Side-by-Side 実行可能  Cross-Platform CLR  Linux と Mac OS 対応のクロスプラットフォーム CLR  ASP.NET 5 アプリケーションの Linux や Mac OS 上での開発と実行が可能 3 つの CLR Three Runtimes for ASP .NET 5
  • 22.
     Microsoft.AspNet.Loader.IIS (Helios) IIS ホスト  System.Web には非依存 (Helios ベース)  他の IIS モジュールとともに統合される  Microsoft.AspNet.Server.WebListener (WebListener)  Microsoft.AspNet.Hosting でロードされる (IIS には非依存)  Http.sys カーネール ドライバー上で直接実行  Microsoft.AspNet.Server.Kestrel (Kestrel)  Microsoft.AspNet.Hosting でロードされる (IIS には非依存)  クロスプラットフォーム (Windows, Mac, Linux) 対応 (予定) ASP.NET 5 : ホスト サーバー ASP .NET 5 Servers
  • 23.
     .NET Core5 のクロスプラット フォーム対応  Linux & Mac サポート (Mono Project)  Visual Studio の Linux サポート (Debug, Docker など)  Sublime 拡張 (OmniSharp / Kulture)
  • 24.
     コンテナー型のアプリケーション仮想化技術  ハイパーバイザー型の仮想化よりも軽量 オープンソース Docker について What is Docker? Server Host OS Hypervisor Guest OS Bins/Libs App A Guest OS Bins/Libs App B Server Host OS Docker Engine Bins/Libs App A Bins/Libs App B Docker 仮想マシン
  • 25.
    Direction of VisualStudio and .NET
  • 26.
    .NET の今後 Future of.NET Next gen JIT (“RyuJIT”) SIMD (Data Parallelization) ランタイム コンパイラー .NET Compiler Platform (“Roslyn”) Languages innovation BCL and PCL Entity Framework ライブラリ
  • 27.
    Microsoft Tools andTechnology Vision すべての開発者 すべてのアプリ
  • 29.
    インフラ技術者、開発者をはじめ、IT に携わるすべてのエンジニアのための 技術コンファレンス 開催日時: 5月 26 日 (火) - 27 日 (水) 開催場所: ザ・プリンス パークタワー東京 http://aka.ms/decode15
  • 31.
    © 2015 MicrosoftCorporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.