ASP.NET 新時代に 向けて ~ ASP.NET 5 / Visual Studio 2015 基礎 解説 ~ 井上 章 (いのうえ あきら) http ://aka.ms/chack 日本マイクロソフト株式会社 デベロッパー エクスペリエンス & エバンジェリズム統括本部 エバンジェリスト
ASP.NET 新時代に向けて
~ ASP.NET 5 / Visual Studio 2015 基礎解説~
井上章 (いのうえあきら) http://aka.ms/chack
日本マイクロソフト株式会社
デベロッパー エクスペリエンス &エバンジェリズム統括本部
エバンジェリスト
アプリ開発のトレンドを振り返る
ASP.NET 5 の概要を学ぶ
Visual Studio と .NET の新しいアプローチを理解する
セッションのゴールSession Takeaways
全ての机に家庭にコンピューターを
デバイスの急速な増大
多様化するデバイス
マルチデバイス (PC, Tablet, Smartphone ...)
クロスプラットフォーム
IoT (Internet of Things)
不可欠な Web 技術
HTML, CSS, JavaScript, HTTP, REST ...
クラウド環境の普及と活用
スケーラビリティとアベイラビリティ
ビッグデータ分析
Productivity Future Vision近未来の IT, Cloud, Web ...
Connect();
Day1 : 2014/11/12 24:00
Day2 : 2014/11/13 25:00
http://aka.ms/connect
(米国イベントサイト: Channel9)
http://live.nicovideo.jp/watch/lv199630620
(日本語解説版:ニコ生動画)
イベントダイジェスト
• .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
ASP.NET 5 新しい ASP.NET 5 プロジェクトテンプレート (*.kproj) の採用
新しい設定システム (project.json) の採用
Visual Studio 2015 Preview 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 開発 #1Client-Side Web Development
静的ファイルと wwwroot フォルダー
静的ファイル (HTML, CSS, JavaScript, 画像等) の格納フォルダー
コードファイル (C#, cshtml, ts, less, sass 等) と明確に分離
名称 wwwroot は project.json で変更可能
Visual Studio 2015 クライアントサイド Web 開発 #2Client-Side Web Development
{"webroot": "wwwroot","version": "1.0.0-*",...
}
.NET とは?
ライブラリランタイム 言語 ツール
.NET Framework の構成
OS
共通言語ランタイム(CLR : Common Language Runtime)
各種ライブラリ
共通言語基盤(CLI : Common Language Infrastructure)
VB C# C++ • .NET 対応の開発言語を利用可能
• 型などの共通仕様• 言語間のコンポーネント呼び出しが可能
• IO, ネットワーク, 暗号化 …
• ASP.NET, ADO.NET …
• 実行制御(メモリ管理, スレッド制御, 例外処理, セキュリティ …)
・・・
"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
Katana Project
Helios
軽量化とポータビリティ向上に向けたアプローチOWIN, Katana Project and Helios
OWIN
.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 Core 5
.NET Native (for Windows 10)Windows desktop
Windows mobile devices
Windows embedded devices
ASP.NET Core 5 for Mac and Linux
OSS
API
C#VB
.NET オープンソース
Projects• ASP.NET 5
• Entity Framework
• .NET Core 5
• .NET Compiler Platform
• Plus community projects
License• MIT License
Contribute• .NET Foundation
• GitHub
https://github.com/aspnet
https://github.com/microsoft/dotnet
http://www.dotnetfoundation.org
モジュラー設計 (NuGet)
オープンソース (.NET Foundation)
コンパイル不要の開発と配置 (Roslyn)
Windows, Mac, Linux での実行 (Mono Project)
完全な Side by Side 実行
依存性の注入 (Dependency Injection)
高速化, 低メモリ使用量と高スループット
クラウドへ最適化 (設定, デバッグ, ロギング, キャッシュ …)
ASP.NET 5Summary of ASP.NET 5
www.asp.net/vnext : github.com/aspnet
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": { ... }}
}}
Web Forms, MVC 5, Web API 2, Web Pages 3, SignalR 2, EF 6
ASP.NET 4.6 (.NET Framework 4.6) でフルサポート
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 2015
ASP.NET 5 : Desktop CLR (aspnet50)
ASP.NET Core 5 : Core CLR (aspnetcore50)
ASP.NET 5 の互換性Compatibility of ASP.NET 5
.NET Core 5 のクロスプラットフォーム対応
Linux & Mac サポート
(Mono Project)
Visual Studio の Linux サポート(Debug, Docker など)
Sublime 拡張 (Kulture)
.NET の今後Future of .NET
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
ランタイム コンパイラー.NET Compiler Platform (“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
ライブラリ
「Azure Friday」でおなじみ、軽妙な語り口で Azure を解説する米国マイクロソフト本社のScott Hanselman がついに来日、合わせてイベントを開催します。Azure の最新情報や利用方法など、Deep なユーザーによるコンテンツをご用意。お楽しみに!
GoAzure
2015年1月16日(金) 10:30 - 20:00会場:ベルサール渋谷ファースト〒150-0011 東京都渋谷区東1-2-20 住友不動産渋谷ファーストタワー
詳細・参加登録 ▶ ▶ ▶ http://aka.ms/goazure
Special Guest:
Scott HanselmanAnd more...
書籍:ASP.NET SignalR / MVCProgramming ASP.NET SignalR / MVC
プログラミング ASP.NET SignalRJose M. Aguilar 著、日本マイクロソフト井上章監訳
http://ec.nikkeibp.co.jp/item/books/P98410.html
2014 年 11 月 4 日発売予定
プログラミング ASP.NET MVC 第 3 版Dino Esposito 著、日本マイクロソフト井上章監訳
http://ec.nikkeibp.co.jp/item/books/P98380.html
2014 年 11 月 4 日発売予定
• Visual Studio 2015 Preview / .NET 2015 Preview
• http://aka.ms/vs2015previewdl
• .NET Core Open Source and Cross-platform
• https://github.com/microsoft/dotnet
• Visual Studio Community 2013
• http://aka.ms/vscomm2013dl
• Visual Studio 2013 Update 4
• http://aka.ms/vs2013ult
Visual Studio 関連リソースResources for Visual Studio
aspnet – GitHub : https://github.com/aspnet
ASP.NET 5 : Official ASP.NET Web Site
Blog Posts :
Introducing ASP.NET vNext
ASP.NET vNext Overview
ASP.NET vNext on OSX and Linux Redux
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 5 関連リソースResources for ASP.NET 5
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
© 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.