マイクロソフト コーポレーション
グローバル ブラックベルト
Azure App Innovation スペシャリスト
井上 章 (いのうえ あきら) @chack411
.NET 6 最新アップデート
.NET ecosystem momentum
.
github.com/dotnet
Sources: insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted; insights.stackoverflow.com/survey/2020#most-loved-dreaded-and-wanted;
github.com/cncf/velocity/blob/master/reports/top_projects_by_activity.txt; octoverse.github.com/; https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext
.NET Framework .NET Core Xamarin
App
Models
Base
Library
Win Forms
WPF
n .NET Core / Xamarin / .NET Framework アプリケーション モデルをサポート
n 統⼀プラットフォームへ向けた .NET Core の進化
n シングル SDK, ⼀つの BCL, 統⼀されたツール チェーン
n クロスプラットフォーム ネイティブ UI
n クロスプラットフォーム Web UI
n Cloud Native への投資
n パフォーマンス、サイズ、診断、Azure サービスの継続的な改善
n .NET 6 に含まれないアプリケーション モデル
n ASP.NET Web Forms
n WCF (Windows Communication Foundation)
n WF (Windows Workflow Foundation)
– .NET 6
.NET Framework
Mono / Xamarin
.NET Core
.NET
One .NET vision
.NET has the best of breed solutions for all modern workloads
.NET 6
統⼀された共通の Base Libraries と SDK
業界トップのパフォーマンス
コードの簡素化、開発の容易性
新しい C# 10, F# 6 リリース
Apple Silicon (ARM64) のサポート
LTS (⻑期サポート) リリース
get.dot.net/6
.NET 6 performance
Java Servlet .NET Node.js
161,987
311,778
.NET 5 .NET 6
Requests per second
Entity Framework Core Performance
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext
https://www.techempower.com/benchmarks/#section=test&runid=3fc99e53-f60d-428e-9937-e809880d3da2&hw=ph&test=fortune&a=2&o=e
Sources:
Visual Studio 2022
Modern development
Build innovative, modern apps using .NET 6, GitHub
and Azure with integrated tooling
Personal and team productivity
Live Share, Hot reload everywhere, Web live preview,
IntelliCode, enhanced debugging and testing tools
Scale to projects of any size
An optimized, modern UI built on 64-bit architecture to
support the largest, most complex codebases and
workflows
VisualStudio.com/download
Developer productivity improvements
Hot Reload
• プロセスの再起動なしでコードの変更を反映
• F5 デバッグなしでもデバッグ可能
• 再起動時間の減少、コーディング時間の拡⼤
• CLI および Visual Studio 2022 で利⽤可能
• 4.6 以降のすべての .NET バージョンと
すべてのプロジェクトタイプで利⽤可能
ASP.NET Core Blazor
n .NET (Razor Pages & C#) でフロントエンド Web UI を開発
n JavaScript, Angular, React, Vue などを知らなくても OK
n .NET の安定性と⼀貫性
n すべての WebAssembly 対応ブラウザーで動作
n ネイティブ パフォーマンス, プラグインなどは不要
n Client と Server 間での C# コードの共有、強く型付けされた開発
n 2 種類のホスティング モデル
n Blazor サーバー アプリ : サーバーサイドの .NET プロセスで実⾏、SignalR で通信
n Blazor WebAssembly アプリ : Web ブラウザーの WebAssembly で実⾏
https://blazor.net
Razor Components
.NET
WebAssembly
[参考] ASP.NET Web Forms から Blazor への移行 | Microsoft Docs
Blazor – full stack web apps with .NET
Blazor サーバー Blazor WebAssembly
DOM
Blazor
WebAssembly
.NET
Razor Components
Blazor
.NET
Razor Components
DOM
SignalR
ü サーバー側機能へフルアクセス
ü ⾼速起動
ü コードはサーバー側で実⾏
ü 古いブラウザとシンクライアントをサポート
û 永続的なコネクションが必要
û UI レイテンシーが⾼い
ü完全にクライアント側で実⾏
üサーバー コンポーネントは不要
ü静的サイトでホスト
üオフライン実⾏可能
ûダウンロードサイズが⼤きい
û実⾏時パフォーマンスがサーバー側実⾏より低速
Blazor – full stack web apps with .NET
Blazor サーバー Blazor WebAssembly
DOM
Blazor
WebAssembly
.NET
Razor Components
Blazor
.NET
Razor Components
DOM
SignalR
ü サーバー側機能へフルアクセス
ü ⾼速起動
ü コードはサーバー側で実⾏
ü 古いブラウザとシンクライアントをサポート
û 永続的なコネクションが必要
û UI レイテンシーが⾼い
ü完全にクライアント側で実⾏
üサーバー コンポーネントは不要
ü静的サイトでホスト
üオフライン実⾏可能
ûダウンロードサイズが⼤きい
û実⾏時パフォーマンスがサーバー側実⾏より低速
Blazor WebAssembly ahead-of-time (AOT) compilation
Smaller Blazor WebAssembly app download size
Error boundaries
Razor component type inference & generic type constraints
Dynamic components
Blazor state persistence during prerendering
.NET 6
クロス プラットフォーム, ネイティブ UI
シングル プロジェクト, シングル コードベース
モバイルやデスクトップなどマルチデバイスへのデプロイ
2022 年 春頃に GA 予定
.NET Multi-platform App UI (.NET MAUI)
.NET 6
.NET Multi-platform App UI
WinUI
Mac
Catalyst
Android
iOS
iOS
macOS
github.com/dotnet/maui
ネイティブと Web の UI コンポーネントの再利⽤
.NET Multi-platform App UI 上に構築
ネイティブ アプリ コンテナーと埋め込みコントロール
2022 年 春頃に GA 予定
Hybrid apps with Blazor & .NET MAUI
.NET MAUI
Blazor
Can use native app
container & controls
iOS
macOS
Minimal APIs for cloud native apps
var app = WebApplication.Create(args);
app.MapGet("/", () => "Hello World!");
app.Run();
軽量、単⼀ファイルで Cloud Native API
少ない作法、トップレベルでの C# プログラム
Path to MVC
.NET 6 で GA
Minimal code for minimal apps
.NET リリース スケジュール
• 2021 年 11 ⽉ – .NET 6 (LTS) リリース
• 毎年 11 ⽉にメジャー リリース予定
• LTS は奇数年リリース
• 予定リリース以外に必要であればマイナーリリースあり
• LTS サポートは 3 年
Dec 2019
.NET Core 3.1
LTS
Nov 2020
.NET 5.0
Nov 2021
.NET 6.0
LTS
Nov 2022
.NET 7.0
Nov 2023
.NET 8.0
LTS
• .NET Framework 4.8 が最後のメジャー バージョンとなる予定
• サポート ライフサイクル ポリシーは変更なし
• インストール先の Windows OS と同じライフサイクル ポリシーが適⽤
• Windows OS のコンポーネントとしてサポート (更新プログラム等)
• (参考) ライフサイクルに関する FAQ – .NET Framework :
https://support.microsoft.com/ja-jp/help/17455/lifecycle-faq-net-framework
.NET Framework の今後について
.NET Upgrade Assistant
Reduce time and difficulty modernizing
older .NET codebases
Guided, step-by-step experience
Multiple project types supported
C# & VB.NET languages
Supports .NET 6
Learn more: aka.ms/dotnet-upgrade-assistant
Azure Functions
Event-driven serverless compute
Azure App Service
Fully managed hosting for web apps,
REST APIs, and mobile back ends
• Azure Functions runtime 4.0
• Both in-process and isolated models
• 全てのリージョン
• Windows / Linux
Azure Static Web Apps
Streamlined full-stack development from
source code to global high availability
• Blazor WebAssembly with AOT サポート
• .NET 6 Azure Functions APIs
Azure PaaS サービスの .NET 6 サポート
Container による .NET アプリの Cloud Migration/Modernization パターン
.NET Framework
.NET 6
Azure
App Service
AKS
ACI
.NET App
Windows Server Core
Windows Nano Server
Containers
Linux ARO
Container Apps
Functions
.NET 〜 すべてのアプリのための統⼀プラットフォーム
COMMON BASE LIBARIES/APIs
INFRASTRUCTURE
.NET 6
TOOLS
Visual Studio Code
CLI
Visual Studio
Visual Studio for Mac
WEB MOBILE GAMING IoT AI
ASP.NET
Blazor
.NET MAUI
Xamarin
Unity ARM32
ARM64
ML.NET
.NET for
Apache Spark
DESKTOP
.NET MAUI
WPF
WinForms
CLOUD
Azure
ECOSYSTEM
NuGet
GitHub
Components,
tools, library
vendors
n 本書に記載した情報は、本書各項⽬に関する発⾏⽇現在の Microsoft の⾒解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報
に対していかなる責務を負うものではなく、提⽰された情報の信憑性については保証できません。
n 本書は情報提供のみを⽬的としています。 Microsoft は、明⽰的または暗⽰的を問わず、本書にいかなる保証も与えるものではありません。
n すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書⾯による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿⼊を⾏うこ
とは、どのような形式または⼿段(電⼦的、機械的、複写、レコーディング、その他)、および⽬的であっても禁じられています。これらは著作権保護された権利を制限するものではあ
りません。
n Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書⾯によるライセンス契約が明確に供給さ
れる場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。
n Microsoft, Windows, その他本⽂中に登場した各製品名は、Microsoft Corporation の⽶国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、⼀般に各社の商標です。

【BS2】.NET 6 最新アップデート

  • 1.
    マイクロソフト コーポレーション グローバル ブラックベルト AzureApp Innovation スペシャリスト 井上 章 (いのうえ あきら) @chack411 .NET 6 最新アップデート
  • 3.
    .NET ecosystem momentum . github.com/dotnet Sources:insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted; insights.stackoverflow.com/survey/2020#most-loved-dreaded-and-wanted; github.com/cncf/velocity/blob/master/reports/top_projects_by_activity.txt; octoverse.github.com/; https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext
  • 4.
    .NET Framework .NETCore Xamarin App Models Base Library Win Forms WPF
  • 5.
    n .NET Core/ Xamarin / .NET Framework アプリケーション モデルをサポート n 統⼀プラットフォームへ向けた .NET Core の進化 n シングル SDK, ⼀つの BCL, 統⼀されたツール チェーン n クロスプラットフォーム ネイティブ UI n クロスプラットフォーム Web UI n Cloud Native への投資 n パフォーマンス、サイズ、診断、Azure サービスの継続的な改善 n .NET 6 に含まれないアプリケーション モデル n ASP.NET Web Forms n WCF (Windows Communication Foundation) n WF (Windows Workflow Foundation) – .NET 6 .NET Framework Mono / Xamarin .NET Core .NET One .NET vision .NET has the best of breed solutions for all modern workloads
  • 6.
    .NET 6 統⼀された共通の BaseLibraries と SDK 業界トップのパフォーマンス コードの簡素化、開発の容易性 新しい C# 10, F# 6 リリース Apple Silicon (ARM64) のサポート LTS (⻑期サポート) リリース get.dot.net/6
  • 7.
    .NET 6 performance JavaServlet .NET Node.js 161,987 311,778 .NET 5 .NET 6 Requests per second Entity Framework Core Performance https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext https://www.techempower.com/benchmarks/#section=test&runid=3fc99e53-f60d-428e-9937-e809880d3da2&hw=ph&test=fortune&a=2&o=e Sources:
  • 8.
    Visual Studio 2022 Moderndevelopment Build innovative, modern apps using .NET 6, GitHub and Azure with integrated tooling Personal and team productivity Live Share, Hot reload everywhere, Web live preview, IntelliCode, enhanced debugging and testing tools Scale to projects of any size An optimized, modern UI built on 64-bit architecture to support the largest, most complex codebases and workflows VisualStudio.com/download
  • 9.
    Developer productivity improvements HotReload • プロセスの再起動なしでコードの変更を反映 • F5 デバッグなしでもデバッグ可能 • 再起動時間の減少、コーディング時間の拡⼤ • CLI および Visual Studio 2022 で利⽤可能 • 4.6 以降のすべての .NET バージョンと すべてのプロジェクトタイプで利⽤可能
  • 10.
    ASP.NET Core Blazor n.NET (Razor Pages & C#) でフロントエンド Web UI を開発 n JavaScript, Angular, React, Vue などを知らなくても OK n .NET の安定性と⼀貫性 n すべての WebAssembly 対応ブラウザーで動作 n ネイティブ パフォーマンス, プラグインなどは不要 n Client と Server 間での C# コードの共有、強く型付けされた開発 n 2 種類のホスティング モデル n Blazor サーバー アプリ : サーバーサイドの .NET プロセスで実⾏、SignalR で通信 n Blazor WebAssembly アプリ : Web ブラウザーの WebAssembly で実⾏ https://blazor.net Razor Components .NET WebAssembly [参考] ASP.NET Web Forms から Blazor への移行 | Microsoft Docs
  • 11.
    Blazor – fullstack web apps with .NET Blazor サーバー Blazor WebAssembly DOM Blazor WebAssembly .NET Razor Components Blazor .NET Razor Components DOM SignalR ü サーバー側機能へフルアクセス ü ⾼速起動 ü コードはサーバー側で実⾏ ü 古いブラウザとシンクライアントをサポート û 永続的なコネクションが必要 û UI レイテンシーが⾼い ü完全にクライアント側で実⾏ üサーバー コンポーネントは不要 ü静的サイトでホスト üオフライン実⾏可能 ûダウンロードサイズが⼤きい û実⾏時パフォーマンスがサーバー側実⾏より低速
  • 12.
    Blazor – fullstack web apps with .NET Blazor サーバー Blazor WebAssembly DOM Blazor WebAssembly .NET Razor Components Blazor .NET Razor Components DOM SignalR ü サーバー側機能へフルアクセス ü ⾼速起動 ü コードはサーバー側で実⾏ ü 古いブラウザとシンクライアントをサポート û 永続的なコネクションが必要 û UI レイテンシーが⾼い ü完全にクライアント側で実⾏ üサーバー コンポーネントは不要 ü静的サイトでホスト üオフライン実⾏可能 ûダウンロードサイズが⼤きい û実⾏時パフォーマンスがサーバー側実⾏より低速 Blazor WebAssembly ahead-of-time (AOT) compilation Smaller Blazor WebAssembly app download size Error boundaries Razor component type inference & generic type constraints Dynamic components Blazor state persistence during prerendering .NET 6
  • 13.
    クロス プラットフォーム, ネイティブUI シングル プロジェクト, シングル コードベース モバイルやデスクトップなどマルチデバイスへのデプロイ 2022 年 春頃に GA 予定 .NET Multi-platform App UI (.NET MAUI) .NET 6 .NET Multi-platform App UI WinUI Mac Catalyst Android iOS iOS macOS github.com/dotnet/maui
  • 14.
    ネイティブと Web のUI コンポーネントの再利⽤ .NET Multi-platform App UI 上に構築 ネイティブ アプリ コンテナーと埋め込みコントロール 2022 年 春頃に GA 予定 Hybrid apps with Blazor & .NET MAUI .NET MAUI Blazor Can use native app container & controls iOS macOS
  • 15.
    Minimal APIs forcloud native apps var app = WebApplication.Create(args); app.MapGet("/", () => "Hello World!"); app.Run(); 軽量、単⼀ファイルで Cloud Native API 少ない作法、トップレベルでの C# プログラム Path to MVC .NET 6 で GA Minimal code for minimal apps
  • 16.
    .NET リリース スケジュール •2021 年 11 ⽉ – .NET 6 (LTS) リリース • 毎年 11 ⽉にメジャー リリース予定 • LTS は奇数年リリース • 予定リリース以外に必要であればマイナーリリースあり • LTS サポートは 3 年 Dec 2019 .NET Core 3.1 LTS Nov 2020 .NET 5.0 Nov 2021 .NET 6.0 LTS Nov 2022 .NET 7.0 Nov 2023 .NET 8.0 LTS
  • 17.
    • .NET Framework4.8 が最後のメジャー バージョンとなる予定 • サポート ライフサイクル ポリシーは変更なし • インストール先の Windows OS と同じライフサイクル ポリシーが適⽤ • Windows OS のコンポーネントとしてサポート (更新プログラム等) • (参考) ライフサイクルに関する FAQ – .NET Framework : https://support.microsoft.com/ja-jp/help/17455/lifecycle-faq-net-framework .NET Framework の今後について
  • 18.
    .NET Upgrade Assistant Reducetime and difficulty modernizing older .NET codebases Guided, step-by-step experience Multiple project types supported C# & VB.NET languages Supports .NET 6 Learn more: aka.ms/dotnet-upgrade-assistant
  • 19.
    Azure Functions Event-driven serverlesscompute Azure App Service Fully managed hosting for web apps, REST APIs, and mobile back ends • Azure Functions runtime 4.0 • Both in-process and isolated models • 全てのリージョン • Windows / Linux Azure Static Web Apps Streamlined full-stack development from source code to global high availability • Blazor WebAssembly with AOT サポート • .NET 6 Azure Functions APIs Azure PaaS サービスの .NET 6 サポート
  • 20.
    Container による .NETアプリの Cloud Migration/Modernization パターン .NET Framework .NET 6 Azure App Service AKS ACI .NET App Windows Server Core Windows Nano Server Containers Linux ARO Container Apps Functions
  • 21.
    .NET 〜 すべてのアプリのための統⼀プラットフォーム COMMONBASE LIBARIES/APIs INFRASTRUCTURE .NET 6 TOOLS Visual Studio Code CLI Visual Studio Visual Studio for Mac WEB MOBILE GAMING IoT AI ASP.NET Blazor .NET MAUI Xamarin Unity ARM32 ARM64 ML.NET .NET for Apache Spark DESKTOP .NET MAUI WPF WinForms CLOUD Azure ECOSYSTEM NuGet GitHub Components, tools, library vendors
  • 22.
    n 本書に記載した情報は、本書各項⽬に関する発⾏⽇現在の Microsoftの⾒解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報 に対していかなる責務を負うものではなく、提⽰された情報の信憑性については保証できません。 n 本書は情報提供のみを⽬的としています。 Microsoft は、明⽰的または暗⽰的を問わず、本書にいかなる保証も与えるものではありません。 n すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書⾯による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿⼊を⾏うこ とは、どのような形式または⼿段(電⼦的、機械的、複写、レコーディング、その他)、および⽬的であっても禁じられています。これらは著作権保護された権利を制限するものではあ りません。 n Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書⾯によるライセンス契約が明確に供給さ れる場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。 n Microsoft, Windows, その他本⽂中に登場した各製品名は、Microsoft Corporation の⽶国およびその他の国における登録商標または商標です。 その他、記載されている会社名および製品名は、⼀般に各社の商標です。