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
C#/.NETのこれまでのふりかえり
Search
tomokusaba
October 25, 2024
Programming
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
C#/.NETのこれまでのふりかえり
C#/.NETのこれまでのふりかえり
.NETラボ 勉強会 2024年10月の登壇資料
https://dotnetlab.connpass.com/event/333111/
tomokusaba
October 25, 2024
More Decks by tomokusaba
See All by tomokusaba
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
590
GitHub Copilot CLI で考える複数エージェント設計
tomokusaba
0
210
GitHub Copilot appで変わる GitHub Copilot CLI開発体験
tomokusaba
1
1.3k
アクセシビリティはすべての人のもの
tomokusaba
0
420
GitHub Copilot Dev Days
tomokusaba
0
190
GitHub Copilot CLI と VS Code Agent Mode の使い分け
tomokusaba
0
200
Azure PortalなどにみるWebアクセシビリティ
tomokusaba
0
490
薬屋のひとりごとからみるプロジェクトにおけるコミットの方法
tomokusaba
1
73
Other Decks in Programming
See All in Programming
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
520
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.6k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
18
6.3k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
550
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.8k
Oxcを導入して開発体験が向上した話
yug1224
4
300
ふつうのFeature Flag実践入門
irof
7
3.6k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
Inside Stream API
skrb
1
670
net-httpのHTTP/2対応について
naruse
0
460
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
480
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Chasing Engaging Ingredients in Design
codingconduct
0
210
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
The World Runs on Bad Software
bkeepers
PRO
72
12k
Un-Boring Meetings
codingconduct
0
310
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
It's Worth the Effort
3n
188
29k
Transcript
C#/.NETのこれまでのふりか えり 株式会社SAKURUG プロダクトDiv 草場 友光 .NETラボ勉強会2024年10月
自己紹介 • コミュニティ活動を通じて知識をアッ プデートしています。 • 2022/08-2025 Microsoft MVP (Developer Technologies)
• tomo_kusaba
宣伝 【VISION】ひとの可能性を開花させる企業であり続ける VISIONに共感できる仲間募集中。
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。 • #dotnetlabでtweetすると左側に表示されます
今日の目的 • まもなく、.NET 9がリリースされます • .NETの過去を通じて現在の位置づけを知る • これまでの.NETについて振り返りましょう
.NET Frameworkのはじまり • 2002年1月5日 .NET Framework1.0リリース • Windows98、NT4.0、2000、XP向け • 今から考えるといろいろないないづくしの
• ジェネリックコレクションもない • LINQもない • 挿入文字列もない • 自動プロパティもない • 拡張メソッドもない • ラムダ式もねー • おらおこんなふれーむわーくいやだ
当時のJavaとの比較 • 2002年当時のJavaは1.4 • ジェネリックコレクションなし • Linqなし • その他諸々なし •
当時のライブラリ水準とすれば劣っていたわけじゃない
.NET Mono • 2004年12月15日 Mono1.0リリース • プロジェクトの目標 • FreeBSD、Windows、MacOSXで動作するオープンソースのクロス プラットフォーム.NET
Framewrok実装を実現する • 後に.NET Coreの立ち上げによりプロジェクトとしての存在意義は失っ ていく • 事実上、Xamarinで広く使われていたプラットフォーム
.NET Frameworkの強化(実行環境) バージョン 内容 1.1 バグ修正のみ 2.0 ジェネリック関連の命令追加 4.0 性能改善
4.5 性能改善とWinRTへの対応 4.8 JITコンパイラの最適化 大きな修正があったのは2.0のみ
.NET Frameworkの強化(ライブラリその他) バージョン 内容 1.1 バグ修正 IPv6 2.0 ジェネリックコレクション追加 ClickOne
ASP.NETでの新しいコンポーネント 64ビットサポート 3.0 WPF、WCF、WFなど追加 3.5 LINQ追加、ASP.NET AJAX追加 3.5SP1 ADO.NET Entity Framework追加 4 dynamic関連 並列関連の追加 4.5 async/await関連の追加 4.6 WPFのHDPIサポート強化 4.7 WinFormsの高DPIサポート 4.8 WPFの高DPI機能強化 実質的に.NET Frameworkのフラッ グシップ言語であるC#の歩みと同期し てる
.NET Frameworkの強化(C#と対比) .NET Framework .NET (Core) C# Visual Studio 1.0
1.0 .NET 2002 1.1 1.1 .NET 2003 2.0 2.0 2005 3.5 3.0 2008 4 4.0 2012 4.5 .NET Core Profile 5.0 2013 4.6 1.0 6.0 2015 4.7 7.0 2017 2.0 7.1 2017 15.5 2.1→(ASP.NET Core2.3?) 7.2 2017 15.8.6 4.8 2.2 7.3 2017 15.9
.NET Frameworkの強化2(C#と対 比) .NET Framework .NET (Core) C# Visual Studio
3.0 8.0 2019 16.0 5.0 9.0 2019 16.8 6.0 10.0 2022 7.0 11.0 8.0 12.0 9.0 13.0
.NET Coreのはじまり • 2016年6月27日 .NET Core1.0 リリース • 名称が示すとおり.NET Frameworkのサブセットとして開発が進めら
れた • 当面はサーバーサイドでの利用を想定されていた(ASP.NET Core)
.NET Coreの機能強化 2.0 ランタイムおよびフレームワークの性能向上 C#7.1のサポート 2.1 Span<T> Blazor 2.2 JITコンパイラの機能強化
3.0 WinFormsおよびWPF、UWPのサポート Blazor Server C#8.0のサポート 3.1 マイナー強化 LTS (Blazor WebAssembly) 5.0 .NET Frameworkとの統合 C#9.0 6.0 .NET MAUI Minimal API 7.0 C#11 8.0 C#12 .NET Aspire Blazor Web Apps 9.0 C#13
.NET の特徴1 • 様々な目的で使用できる • AIやML • ゲーム • IoT
• モバイル • デスクトップ • Webフロント • WebバックエンドやAPI • データアクセス
.NETの特徴2 • 高速なレスポンスと高い同時実行性能
.NETの特徴3 • オープンソースで開発されている • MITライセンスのもとで無料で使用できる
.NETの特徴4 • クロスプラットフォームである • Windows • Linux • macOS •
iOS • Android
.NETの特徴 • 様々な開発のエコシステムがある • 開発ツール • Visual Studio • Visual
Studio Code • Rider • パッケージシステム • Nuget
.NET 9注目の新機能1 • 静的Webアセット配信の最適化 • 従来はUseStaticFiles()ミドルウェアを使用していた • MapStaticAssets()ミドルウェアに置き換えることで以下の利 点がある •
アプリ内のすべてのアセットをビルド時に圧縮 • コンテンツベースのETag • ビルド時にアプリが認識している場合は使えるが、アプリが他の 場所からアセットを提供する場合は今まで通りUseStaticFiles を使用する
.NET9注目の新機能2 • Blazor Serverの再接続の改善 • 回線切断時の再試行間隔の改善 • 再接続時にすでにサーバーで回線がすでに解放されている場合 (サーバー側の状態保持がない場合)デフォルト状態で更新されま す。
参考文献 • ASP.NET Core 9.0 の新機能 https://learn.microsoft.com/ja- jp/aspnet/core/release-notes/aspnetcore- 9.0?view=aspnetcore-8.0 •
.NET 9 の新機能 https://learn.microsoft.com/ja- jp/dotnet/core/whats-new/dotnet-9/overview
おしまい おしまい