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
540
.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
Microsoft Entra External IDとAzure AD B2C
tsubakimoto_s
0
190
Minimal Observability on Minimal API
tsubakimoto_s
0
54
ワークフローのコピペを自作で解消した話
tsubakimoto_s
0
37
Azure AI ことはじめ
tsubakimoto_s
0
430
Azureのコアサーバーレス Azure Functions
tsubakimoto_s
0
490
米国カンファレンスで活躍したAzure AI Speech
tsubakimoto_s
0
570
GitHub Codespaces Updates
tsubakimoto_s
0
460
Web API development in Visual Studio 2022
tsubakimoto_s
0
3.6k
GitHub Actionsと"仲良くなる"ための練習方法
tsubakimoto_s
13
5.5k
Other Decks in Technology
See All in Technology
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
120
強いチームと開発生産性
onk
PRO
35
11k
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
660
Can We Measure Developer Productivity?
ewolff
1
150
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
210
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Side Projects
sachag
452
42k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Six Lessons from altMBA
skipperchong
27
3.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing Experiences People Love
moore
138
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
GraphQLとの向き合い方2022年版
quramy
43
13k
Bash Introduction
62gerente
608
210k
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.