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
620
.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
1
93
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
300
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
1.5k
Minimal Observability on Minimal API
tsubakimoto_s
0
110
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
83
Azure AI ことはじめ
tsubakimoto_s
0
670
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
670
米国カンファレンスで活躍したAzure AI Speech
tsubakimoto_s
0
810
GitHub Codespaces Updates
tsubakimoto_s
0
540
Other Decks in Technology
See All in Technology
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
JOAI発表資料 @ 関東kaggler会
joai_committee
1
270
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
5
530
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
170
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
190
Webアクセシビリティ入門
recruitengineers
PRO
1
240
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
20
5.5k
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
670
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Embracing the Ebb and Flow
colly
87
4.8k
Producing Creativity
orderedlist
PRO
347
40k
A designer walks into a library…
pauljervisheath
207
24k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Code Reviewing Like a Champion
maltzj
525
40k
Writing Fast Ruby
sferik
628
62k
GraphQLとの向き合い方2022年版
quramy
49
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
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.