Microsoft Tech Summit 2017本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 2017 開催日(2017 年 11 月 8日 - 9 日)時点のものであり、予告なく変更される場合があります。
井上 章 (いのうえ あきら)
テクニカル エバンジェリスト
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET/ASP.NET や Visual Studio,
Microsoft Azure などの開発技術を専門とする
エバンジェリストとして、技術書籍やオンライ
ン記事などの執筆、さまざまな技術イベントで
の講演などを行う。
Mobile first + Cloud first
Any developer
Any app
Any platform
Visual Studio
Visual Studio for Mac
Visual Studio Code
Visual Studio Mobile Center
Visual Studio Team Services
Visual Studio の継続的な開発
Continued development
Initial release of Visual Studio 2017
Tooling support for
Windows 10 Creators Update
Integrated Python support
15.0 15.1 15.2
.NET Core 2.0 support
15.4 15.515.3
製品版 Preview
Visual Studio Preview : https://www.visualstudio.com/vs/preview/
Tooling support for
Windows 10 Fall Creators Update
Looking back …
"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, 2012
by Scott Hanselman
.NET Application Models
.NET Framework .NET Core Xamarin
アプリ
モデル
ベース
ライブラリ
.NET モメンタム
61%YoY Growth .NET Active Developers
(VS 2012+)
.NET Core
Xamarin
Windows
Web
Growth by .NET application type (%)
40%.NET Core users not previously using .NET
Java #1 source (18%)
.NET Open Source モメンタム
“Samsung is embracing .NET because it is
a completely open source project.” — Samsung
"ASP.NET is open source, that allows us
to contribute back to it if we have any
performance issues which Microsoft review
and together we make a better product.“
— Illyriad Games
Community PRs by month
参考) The State of the Octoverse 2017: https://octoverse.github.com/
.NET 言語
Powerful, flexible, for any kind of app
Innovate aggressively and responsibly bringing latest
language trends to enable modern applications
Easy to get started, approachable
Focus on simplicity and productivity for the most common
scenarios and developers new to programming
Productive functional programming and analytics
Be the most productive functional language in the market
with full integration and interoperability with .NET
.NET Framework
APIs
.NET Core
APIs
Xamarin
APIs
チャレンジ:コード、ライブラリ、開発スキルの共有
.NET Framework
APIs
.NET Core
APIs
Xamarin
APIs
.NET
Standard
.NET Framework
APIs
.NET Core
APIs
Xamarin
APIs
.NET
Standard
.NET API の統一仕様
 統一された BCL API セットの定義
 各 .NET 環境の共有ライブラリを生成可能
 共有ソースコードの条件付きコンパイルを削減
例えば・・・
.NET Standard ⇔ HTML 仕様
.NET Core
.NET Framework Browser
Xamarin
https://docs.microsoft.com/ja-jp/dotnet/articles/standard/library
https://github.com/dotnet/standard
https://docs.microsoft.com/ja-jp/dotnet/framework/app-domains/type-forwarding-in-the-common-language-runtime
Ver. #APIs %
1.0 7,949
1.1 10,239 +29%
1.2 10,285 +0%
1.3 13,122 +28%
1.4 13,140 +0%
1.5 13,355 +2%
1.6 13,501 +1%
2.0 32,638 +142%
standard/docs/versions
.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0
.NET Core 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0
.NET Framework 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 4.6.1 4.6.1
Mono 4.6 4.6 4.6 4.6 4.6 4.6 4.6 5.4
Xamarin.iOS 10.0 10.0 10.0 10.0 10.0 10.0 10.0 10.14
Xamarin.Mac 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.8
Xamarin.Android 7.0 7.0 7.0 7.0 7.0 7.0 7.0 8.0
Universal
Windows Platform
10.0 10.0 10.0 10.0 10.0 10.0.16299 10.0.16299 10.0.16299
Windows 8.0 8.0 8.1
Windows Phone 8.1 8.1 8.1
Windows Phone
Silverlight
8.0
参照) https://github.com/dotnet/standard/blob/master/docs/versions.md
マルチ ターゲット ライブラリの作成
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netcoreapp2.0;uap10.0;net461</TargetFrameworks>
</PropertyGroup>
</Project>
public string GetPlatform()
{
#if NET461
return ".NET Framework 4.6.1";
#elif WINDOWS_UWP
return "Universal Windows Platform";
#elif NETCOREAPP2_0 || NETSTANDARD2_0
return ".NET Standard 2.0";
#else
throw new PlatformNotSupportedException();
#endif
}
.NET API ブラウザー
https://docs.microsoft.com/ja-jp/dotnet/api/
API Portability Analyzer
https://github.com/Microsoft/dotnet-apiport
Platform Compatibility Analyzer
https://github.com/dotnet/platform-compat
.NET Framework
App
My .NET Standard Library
.NET Core
App
Xamarin
App
201620001990 2010
Cloud Native Apps
Serverless
Containers
Monolithic
Frontend
Middle tier
Backend
Microservice
1
Microservice
2
Microservice
3
Microservice
4
Microservice
5
Function 1
Function 2
Function 3
Function 4
Function 5
Function 6
Function 7
Function 8
Function 9
Function 10
Function 11
Function 12
• Azure Functions
• Web App for Containers
• Azure Container Instances
• Azure Container Service
• Service Fabric
.NET STANDARD LIBRARY
.NET
Microsoft Developers
Session ID Title
APP002 コンテナーなに使ってますか? Linux ですか? Windows も使ってもらっていいですか?
APP003 Azure Functions と Serverless - 概要と企業向け Tips
APP004 Visual Studio Team Services を使った Serverless のための継続的デリバリー
APP005 デモで実感!Windows Mixed Reality 祭り!
APP006 最新! Windows 10 Fall Creators Update 新機能とアプリケーション開発
APP007 コンテナー活用最前線 2017 !! これだけは押さえておかなければダメ!!
APP008
モバイルアプリの開発・運用・ユーザー分析をまとめて管理できる Visual Studio Mobile Center を
使ってみよう
APP009 モバイル開発における Xamarin.Forms と Microsoft Azure と Visual Studio Mobile Center の活用
■
 http://dot.net
■
 https://github.com/dotnet
■
 https://channel9.msdn.com/Events/dotnetConf/2017
■
 https://blogs.msdn.microsoft.com/dotnet/
■
 https://dot.net/architecture
■
 https://github.com/chack411
TYPE
FORWARDING
This happens when you build a .NET Standard-based Library
TYPE
FORWARDING
This happens when you load .NET Standard-based library
Docker Containers
クラウドからオンプレミスまで
どこでも実行可能な高速で軽量な
アプリケーション / サービスの
配置, 運用, 管理, 自動化のための技術
コンテナー型のアプリ仮想化技術
 ネットワークやリソースを分離
 高速かつオーバーヘッドの少ない配置展開
 オープンソース WindowsLinux
Azure Web App for Containers
Docker コンテナーの実行基盤として最適化された PaaS プラットフォーム
サーバーレスとは …
Azure Functions
サーバーレス = サーバーの存在を意識しない開発
イベント駆動、スケール構成不要
リソース使用量と関数実行回数に基づく課金
C#, .NET Framework, .NET Core をサポート
Visual Studio によるデバッグ、テスト、デプロイ
画像分析
OCR (Optical Character Recognition)
著名人、史跡名勝地の検出
サムネイル画像の作成
Categories
[ { "Name": "people_swimming",
"Score": 0.98046875 } ]
Faces
[ { "Age": 36, "Gender": "Male",
"FaceRectangle": { "Top": 133,
"Left": 298, "Width": 121, "Height":
121 } } ]
Dominant color
background
■"White"
Dominant color
foreground
■"Grey"
Accent Color ■#19A4B2
Where there is love there is life.
Mahatma Gandhi
2 October 1869 — 30 January 1948
カスタム画像認識
[Document] https://docs.microsoft.com/ja-jp/azure/cognitive-services/custom-vision-service/home
[Check&Try] https://www.customvision.ai/
[Japan Tech summit 2017] APP 001

[Japan Tech summit 2017] APP 001