Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
.NET 8 がリリース直前だから振り返る
Search
Yuta Matsumura
October 28, 2023
Technology
0
570
.NET 8 がリリース直前だから振り返る
登壇資料です
Fukuoka.NET #25 - connpass
https://fukuten.connpass.com/event/297072/
Yuta Matsumura
October 28, 2023
Tweet
Share
More Decks by Yuta Matsumura
See All by Yuta Matsumura
re:Invent の裏でアップデートされていた .NET Aspire で統合するAWS のクラウドリソース
tsubakimoto_s
0
16
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
220
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
500
Minimal Observability on Minimal API
tsubakimoto_s
0
66
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
47
Azure AI ことはじめ
tsubakimoto_s
0
550
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
550
米国カンファレンスで活躍したAzure AI Speech
tsubakimoto_s
0
640
GitHub Codespaces Updates
tsubakimoto_s
0
480
Other Decks in Technology
See All in Technology
さいきょうのアーキテクチャを生み出すセンスメイキング
jgeem
0
400
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
370
事業継続を支える自動テストの考え方
tsuemura
0
200
テストアーキテクチャ設計で実現する高品質で高スピードな開発の実践 / Test Architecture Design in Practice
ropqa
3
410
[TechNight #86] Oracle GoldenGate - 23ai 最新情報&プロジェクトからの学び
oracle4engineer
PRO
1
220
データの品質が低いと何が困るのか
kzykmyzw
0
130
例外処理を理解して、設計段階からエラーを「見つけやすく」「起こりにくく」する
kajitack
13
4.4k
Googleマップ/Earthが一般化した 地図タイルのイマ
mapconcierge4agu
1
170
アンチパターンのアーキテクチャと組織 / Anti-Pattern Software Architecture and Organization
oztick139
0
160
Bounded Context: Problem or Solution?
ewolff
1
200
High Performance PHP
cmuench
0
120
まだ間に合う! エンジニアのための生成AIアプリ開発入門 on AWS
minorun365
PRO
4
490
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
Documentation Writing (for coders)
carmenintech
67
4.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Optimizing for Happiness
mojombo
376
70k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Adopting Sorbet at Scale
ufuk
74
9.2k
Faster Mobile Websites
deanohume
306
31k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Building an army of robots
kneath
302
45k
Optimising Largest Contentful Paint
csswizardry
33
3.1k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Transcript
#fukuten .NET 8 がリリース直前だから振り返る 2023/10/26 Fukuoka.NET #25 Yuta Matsumura ©
2023 Yuta Matsumura.
#fukuten 松村 優大 (Yuta Matsumura) Currently working for © 2023
Yuta Matsumura. Chief Technical Architect C#, PHP, Azure, GitHub が好き Microsoft MVP (Developer Technologies) #fukuten #devblogradio の中の人 @tsubakimoto_s
#fukuten © 2023 Yuta Matsumura.
#fukuten .NET Conf 2023 • https://www.dotnetconf.net/ • 2023/11/14~16 開催 •
参加無料のオンデマンド配信・アーカイブあり • .NET 次期バージョンの正式リリース時期 © 2023 Yuta Matsumura.
#fukuten © 2023 Yuta Matsumura. https://dotnet.microsoft.com/ja-jp/platform/support/policy/dotnet-core
#fukuten © 2023 Yuta Matsumura. https://dotnet.microsoft.com/ja-jp/platform/support/policy/dotnet-core 🚨2024/11/12 EOL
#fukuten © 2023 Yuta Matsumura. https://dotnet.microsoft.com/ja-jp/platform/support/policy/dotnet-core 🚨2024/05/14 EOL
#fukuten .NET 8 GA までの道のり バージョン リリース日 リリースブログ Preview 1
2023/02/21 Announcing .NET 8 Preview 1 Preview 2 2023/03/14 Announcing .NET 8 Preview 2 Preview 3 2023/04/11 Announcing .NET 8 Preview 3 Preview 4 2023/05/16 Announcing .NET 8 Preview 4 Preview 5 2023/06/13 Announcing .NET 8 Preview 5 Preview 6 2023/07/11 Announcing .NET 8 Preview 6 Preview 7 2023/08/08 Announcing .NET 8 Preview 7 RC 1 2023/09/14 Announcing .NET 8 RC1 RC 2 2023/10/10 Announcing .NET 8 RC2 GA 2023/11/xx - © 2023 Yuta Matsumura. https://dotnet.microsoft.com/ja-jp/download/dotnet/8.0 https://github.com/dotnet/core/tree/main/release-notes/8.0 だいたい1ヶ月間隔 最後のリリース候補版
#fukuten アップデート内容はリリースブログで © 2023 Yuta Matsumura.
#fukuten アップデート内容はリリースブログで © 2023 Yuta Matsumura. .NET ASP.NET Core EF
Core MAUI Tools (ex: Visual Studio) Performance Improvements
#fukuten アップデート内容はリリースブログで © 2023 Yuta Matsumura. https://qiita.com/tsubakimoto_s/items/36188f8a7751352037a0
#fukuten C# 12 もリリースされる • プライマリ コンストラクター • コレクション式 •
既定のラムダパラメーター • 任意の型の別名設定 • インライン配列 • インターセプター © 2023 Yuta Matsumura. https://learn.microsoft.com/ja-jp/dotnet/csharp/whats-new/csharp-12
#fukuten #fukuten 従来のコンストラクター © 2023 Yuta Matsumura.
#fukuten #fukuten プライマリコンストラクター © 2023 Yuta Matsumura.
#fukuten #fukuten コレクション式 一次元配列の宣言と初期化 構造体の宣言と初期化 二次元配列の宣言と初期化 変数を使った二次元配列の宣言と初期化 © 2023 Yuta
Matsumura.
#fukuten #fukuten 既定のラムダパラメーター © 2023 Yuta Matsumura.
#fukuten 気になるアップデート .NET 8 © 2023 Yuta Matsumura.
#fukuten 💡.NET 8 updates • Native AOT (Reduced memory footprint,
Improved startup time, Improved battery life) • non-root コンテナーイメージ • コンテナーのマルチプラットフォームビルド (ex: dotnet build … --platform linux/amd64) • TimeProvider クラスの導入 (DateTime/DateTimeOffset/TimeSpan のモックが容易になる) • IMeterFactory / .AddMetrics() • IHostedLifecycleService の拡張 (Graceful shutdown がより制御しやすくなる) • .NET SDK のライブラリ類のドキュメントの充実 © 2023 Yuta Matsumura. Pre 1 Pre 1 Pre 3 Pre 4 Pre 5 Pre 7 RC 2
#fukuten Native AOT • AOT: Ahead of Time → 事前コンパイラ
• ビルド時にネイティブコードにコンパイルされる (実行時の JIT コンパイルは行われない) • C++ のコンパイラ環境が必要 • 利点 • 実行形式ファイルのサイズ削減 • 起動時間の短縮 • 必要メモリの削減 © 2023 Yuta Matsumura. https://learn.microsoft.com/ja-jp/aspnet/core/fundamentals/native-aot?view=aspnetcore-8.0 https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/
#fukuten #fukuten Native AOT: csproj の構成 © 2023 Yuta Matsumura.
dotnet publish -r win-x64 -c Release
#fukuten 実行形式ファイルのサイズ削減 © 2023 Yuta Matsumura. 非AOT AOT dotnet publish
-r win-x64 -c Release -p:PublishSingleFile=true --self-contained true dotnet publish -r win-x64 -c Release
#fukuten 気になるアップデート ASP.NET Core 8 © 2023 Yuta Matsumura.
#fukuten 💡ASP.NET Core 8 updates • Blazor テンプレートの更新 (旧 Blazor
United … Server も WebAssembly もひとまとめ) • Native AOT のサポート (Razor, Minimal API, gRPC, Libraries) • コンテナーのマルチプラットフォームビルド (ex: dotnet build … --platform linux/amd64) • Web API プロジェクトに .http ファイルが同梱 • デバッグエクスペリエンスの向上 • Minimal API のフォームバインディングのサポート • Minimal API や Blazor の偽装防止 (Antiforgery) の統合 • Visual Studio の SPA テンプレートの拡充 (Angular, React, Vue) © 2023 Yuta Matsumura. Pre 1 Pre 3 Pre 3 Pre 4 Pre 5 Pre 5 Pre 7 Pre 6
#fukuten Minimal API の Native AOT © 2023 Yuta Matsumura.
非AOT AOT dotnet publish -r win-x64 -c Release -p:PublishSingleFile=true --self-contained true dotnet publish -r win-x64 -c Release
#fukuten 気になるアップデート Entity Framework Core 8 © 2023 Yuta Matsumura.
#fukuten 💡Entity Framework Core 8 updates • マップされていない型の生 SQL クエリ
• SQL Server での DateOnly/TimeOnly のサポート • 複合型を使用した値オブジェクト • Contains 演算子 (LINQ) の SQL 変換の改善 サンプルコード集 https://github.com/dotnet/EntityFramework.Docs/tree/main/samples © 2023 Yuta Matsumura. Pre 1 Pre 1 RC 2 Pre 1
#fukuten #fukuten Contains 演算子 (LINQ) の SQL 変換の改善 © 2023
Yuta Matsumura. パフォーマンス向上
#fukuten Visual Studio & Visual Studio Code © 2023 Yuta
Matsumura.
#fukuten Visual Studio 2022 17.8 • プルリクエストや Diff の改善 •
Visual Studio の SPA テンプレートの拡充 (Angular, React, Vue) • .http ファイルの環境ファイル (http-client.env.json) © 2023 Yuta Matsumura.
#fukuten プルリクエストや Diff の改善 © 2023 Yuta Matsumura.
#fukuten SPA テンプレートの拡充 © 2023 Yuta Matsumura.
#fukuten .http ファイルの環境ファイル © 2023 Yuta Matsumura.
#fukuten Visual Studio Code • C# Dev Kit • VS
Code で C# 開発を行うための新たな開発環境 • ローカル: VS サブスクリプション必須 • GitHub Codespaces: VS サブスクリプション不要 © 2023 Yuta Matsumura. https://learn.microsoft.com/ja-jp/visualstudio/subscriptions/vs-c-sharp-dev-kit https://devblogs.microsoft.com/visualstudio/announcing-csharp-dev-kit-for-visual-studio-code/ https://blog.shibayan.jp/entry/20230825/1692937805
#fukuten Visual Studio Code: C# Dev Kit • ソリューションファイルの構成を表示 •
Visual Studioっぽい © 2023 Yuta Matsumura.
#fukuten ご清聴ありがとうございました © 2023 Yuta Matsumura.