ASP.NET vNext / Visual Studio "14" に見る.NET の未来像
~ VSUG DAY 2014 Autumn ~
井上 章 (いのうえ あきら) http://aka.ms/chack
日本マイクロソフト株式会社
デベロッパー エクスペリエンス & エバンジェリズム統括本部
エバンジェリスト
アプリ開発のトレンドを振り返る
ASP.NET vNext の概要と .NET のこれからを学ぶ
クラウド最適化とモダナイゼーションの流れを知る
セッションのゴールSession Takeaways
全ての机に家庭にコンピューターを
デバイスの急速な増大
多様化するデバイス
マルチデバイス (PC, Tablet, Smartphone ...)
クロス プラットフォーム
IoT (Internet of Things)
不可欠な Web 技術
HTML, CSS, JavaScript, HTTP, REST ...
クラウド環境の普及と活用
スケーラビリティとアベイラビリティ
ビッグデータ分析
Productivity Future Vision近未来の IT, Cloud, Web ...
Digital Life
Digital Work
4.5.2
Update 3
“To move beyond today’s world of stand-alone Web sites to an
Internet of interchangeable components where devices and
services can be assembled into cohesive, user-driven experiences”
Bill Gates on the goal for .NET
Forum 2000
“Web サイトが個々に独立している状態から、交換可能なコンポーネントからなる
インターネットへと移行し、さまざまな デバイスとサービス を組み合わせること
で一貫性のあるユーザー主導のエクスペリエンスを実現する”
.NET 構想における初期のビジョンDevices and Services
.NET とは?
ライブラリランタイム 言語 ツール
.NET Framework の構成
OS
共通言語ランタイム(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤(CLI : Common Language Infrastructure)
VB C# C++ • .NET 対応の開発言語を利用可能
• 型などの共通仕様• 言語間のコンポーネント呼び出しが可能
• IO, ネットワーク, 暗号化 …
• ASP.NET, ADO.NET …
• 実行制御(メモリ管理, スレッド制御, 例外処理, セキュリティ …)
・・・
Visual Studio サポート
変化する開発スタイルAzure & Visual Studio DevOps
デプロイ
Contoso App
開発者
運用管理・監視
Azure
Microsoft Azure
Visual Studio Online
リポジトリ ビルド テスト
コーディング / デバッグ
"More and more of ASP.NET is open source. We want to make ASP.NET more pluggable, more open, more fun."
"We've got big things planned - some that will surprise you."
February 25, 2012by Scott Hanselman
One ASP.NET 構想One ASP.NET Vision
• NuGet (ぬげっと / にゅーげっと)
– オープンソース ライブラリなどのパッケージ管理の仕組み(インストール、更新、配布)
– Visual Studio で標準採用
– NuGet ギャラリーを利用したパッケージの公開が可能
http://nuget.org/
Katana Project
Helios
軽量化とポータビリティ向上に向けたアプローチOWIN, Katana Project and Helios
OWIN
OWIN = Open Web Interface for .NET : http://owin.org/
.NET における Web サーバーと Web アプリケーションを疎結合にするための抽象化インターフェース定義
Katana Project : http://katanaproject.codeplex.com/
OWIN の MS プラットフォーム実装プロジェクト
名前空間 : Owin, Microsoft.Owin ..., Microsoft.AspNet.WebAPI.Owin
Helios
System.Web 非依存で、直接 IIS 上で動作する軽量 OWIN サーバー
OWIN, Katana Project と HeliosNew Approach to building .NET
Cloud optimized (クラウド最適化)
モジュラー設計 (NuGet)
オープン ソース (.NET Foundation)
コンパイル不要の開発と配置 (Roslyn)
Windows, Mac, Linux での実行 (Mono Project)
完全な Side by Side 実行
依存性の注入 (Dependency Injection)
高速化, 低メモリ使用量と高スループット
クラウドへ最適化 (設定, デバッグ, ロギング, キャッシュ …)
ASP.NET vNext (Next Version)Summary of ASP.NET vNext
www.asp.net/vnext : github.com/aspnet
KRuntime (KRE)
vNext アプリケーションのビルド・実行環境, 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 vNext : ランタイムASP.NET vNext Runtime
KRE
K
App
KVM
KPM
project.json
ランタイム バージョンや依存関係などの実行に必要な情報を記述
Visual Studio 設定などの開発ツール関連情報は含まない
ASP.NET vNext : プロジェクト設定ASP.NET vNext Runtime
{"dependencies": {"Microsoft.AspNet.ConfigurationModel": "0.1-alpha-*",
}"commands": {"web": "Microsoft.AspNet.Hosting server= ..."
},"configurations": {"net451": {"dependencies": { ... }},"k10": {"dependencies": { ... }}
}}
レイヤー 4
アプリケーション
レイヤー 3
アプリケーション
アプリケーション ホスト
レイヤー 2
マネージド エントリ ポイント
レイヤー 1
CLR ネイティブ ホスト
レイヤー 0
ネイティブ プロセス
ASP.NET vNext : KRuntime 構造KRuntime Structure
https://github.com/aspnet/Home/wiki/KRuntime-structure
(aspnet/Home/samples/HelloWeb/image.jpg)
KR
un
tim
eK
Ho
stA
pp
s
次期バージョン Visual Studio “14” CTP リリース
CTP : Community Technology Preview
RTM (正式リリース) は 2015 年を予定
Go-live ライセンスではないため運用環境で利用不可
Azure 仮想マシン イメージが利用可能
Windows Server 2012 R2 + Visual Studio “14” Professional CTP 3
ASP.NET vNext 新しい ASP.NET vNext プロジェクト テンプレート (*.kproj) の採用
新しい設定システム (project.json) の採用
Visual Studio “14” & ASP.NET vNextCommunity Technology Preview
Web Forms, MVC 5, Web API 2, Web Pages 3, SignalR 2, EF 6
.NET vNext でフル サポート
MVC, Web API, Web Pages 6, SignalR 3, EF 7
MVC / Web API / Web Pages の統合と SignalR 3 のサポート
新しいプロジェクト (*.kproj) と設定 (project.json)
System.Web 非依存, 新しい軽量 HttpContext (NOT System.Net.Http)
.NET vNext
.NET Framework サブセット (Cloud Optimized) : Core CLR (k10)
.NET Framework フルセット : Desktop CLR (net451)
ASP.NET vNext の互換性Compatibility of ASP.NET vNext
モダン Web と ASP.NET の今後Modern Web and ASP.NET vNext
エディターや開発ツールの選択
オープンソースへの貢献 クロスプラットフォームOSS
クラウドへシームレスな移行
迅速な開発サイクルモジュール化
パフォーマンス向上
.NET の新しいアプローチNew Approach to building .NET
.NET Foundation 設立
.NET Foundation for Openness
.NET API for Hadoop WebClient
.NET Compiler Platform ("Roslyn").NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET MVC
ASP.NET Web API
ASP.NET Web Pages
ASP.NET SignalR
Composition (MEF2)
Entity Framework
Linq to Hive
MEF (Managed Extensibility Framework)
OWIN Authentication Middleware
Rx (Reactive Extensions)
Web Protection Library
Windows Azure .NET SDK
Windows Phone Toolkit
WnsRecipe
Mimekit Xamarin.Auth
Xamarin.Mobile
Couchbase for .NET
http://www.dotnetfoundation.org@dotnetfdn // #dotnetfdn
Mailkit
System.Drawing
OSS
API
C#VB
.NET の今後Future of .NET
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
ランタイム コンパイラー.NET Compiler Platform (“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
ライブラリ
The Microsoft
Conference 2014革新を確信へ -モバイル & クラウド時代の成功のために
無 償クラウド時代のビジネスニーズに応える !
全国技術者向け~既存アプリケーション活用セミナー 2014
さまざまなデバイス対応やビッグ データ活用など、クラウド時代における新たな潮流の中で既存資産を活用
しながら、ビジネス ニーズに迅速に応えられるアプリケーション開発が求められています。
本セミナーでは、これからの技術選択や開発ツール活用方法を解説し、具体的に第一歩を踏み出していただく
ための支援施策について紹介します。
開催地 開催日 会場
仙台 10 月 3 日 (金) 東北支店セミナー ルーム
東京 10 月 10 日 (金) 品川本社セミナー ルーム C+D
名古屋 10 月 15 日 (水) 中部支店セミナー ルーム
大阪 11 月 4 日 (火) 関西支店セミナー ルーム 2
広島 11 月 5 日 (水) 中四国支店セミナー ルーム
札幌 11 月 21 日 (金) 北海道支店セミナー ルーム
福岡 11 月 28 日 (金) 九州支店セミナー ルーム
詳細 & ご登録 http://aka.ms/zenkoku2014
マイクロソフトのオンライントレーニング
Microsoft Virtual Academy (MVA)
• 専門家が提供する質の高い無料コンテンツ
• 100 以上の日本語コースを提供
• C# や HTML5 などプログラミングの基礎も網羅
• MCSD* 受験対策コースも用意* Microsoft Certified Solution Developer
http://aka.ms/msmvaこちらの URL よりアクセス
http://aka.ms/TryAz
http://aka.ms/Free-Azure
ASP.NET Official Web Site
http://www.asp.net/
ASP.NET で作る Web アプリケーション構築ジャンプスタート
http://www.microsoftvirtualacademy.com/training-courses/733552de-3921-4cca-8834-3e34ecedb9ab
ASP.NET MVC 4 Web アプリケーションの開発ジャンプスタート
http://www.microsoftvirtualacademy.com/training-courses/developing-asp-net-mvc-4-web-applications-
jump-start-japanese
Building Modern Web Apps
http://channel9.msdn.com/Series/Building-Modern-Web-Apps
An Overview of Project Katana
http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
Introducing ASP.NET Project “Helios”
http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducing-asp-net-project-helios.aspx
関連リソースResources
aspnet – GitHub : https://github.com/aspnet
ASP.NET vNext : Official ASP.NET Web Site
Blog Posts :
Introducing ASP.NET vNext
ASP.NET vNext Overview
TechEd 2014 NA Sessions :
Introducing the future of .NET on the server
Deep Dive the future of .NET on the server
Channel 9 Live: ASP.NET Developer Q&A
ASP.NET vNext 関連リソースResources for ASP.NET vNext
© 2014 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.