.NET/沿革
表示
< .NET
.NET(旧.NET Core)の沿革
[編集].NETは、2002年にマイクロソフトによってリリースされたアプリケーションフレームワークであり、C#やVB.NETなどの言語を利用して、Windowsをはじめとするさまざまなプラットフォーム向けにアプリケーションを開発するための基盤を提供します。その後20年以上にわたり、.NETは継続的に進化し、Windows専用の技術から、クロスプラットフォーム対応のオープンソースフレームワークへと成長しました。
初期の.NET Frameworkの登場(2002年)
[編集]- Microsoftは2002年に.NET Framework 1.0をリリース。
- 主にWindowsプラットフォーム向けのアプリケーション開発を対象。
- C#やVB.NETを含む言語とともに、統一されたランタイム環境(CLR: Common Language Runtime)を提供。
- デスクトップアプリケーション(Windows Forms)やASP.NETを活用したWebアプリケーションの構築が可能。
- 制約: Windowsに特化しており、クロスプラットフォーム開発の需要には応えられなかった。
.NET Coreの誕生(2014年発表、2016年リリース)
[編集]- Microsoftはオープンソース化とクロスプラットフォーム対応を目指して.NET Coreを開発。
- 2014年: .NET Coreのプロジェクトを発表。
- 2016年6月27日: .NET Core 1.0がリリース。
- 特徴:
- クロスプラットフォーム対応: Windows、Linux、macOSで動作。
- オープンソース: 開発はGitHubで公開され、コミュニティの貢献を受け入れる。
- 軽量でモジュール化されたフレームワークを提供。
.NET Core 2.xの進化(2017年)
[編集]- 2017年8月14日: .NET Core 2.0がリリース。
- .NET Standardのサポートにより、.NET Frameworkとの互換性が向上。
- 幅広いAPIの追加で、より多くのアプリケーション開発が可能に。
- ASP.NET CoreやEntity Framework Coreも改良され、Webアプリケーションやデータベース操作の機能が強化された。
.NET Core 3.xの成熟(2019年)
[編集]- 2019年9月23日: .NET Core 3.0がリリース。
- Windowsデスクトップアプリケーション(Windows Forms、WPF)のサポートを追加。
- gRPCやC# 8.0のサポートにより、最新の技術トレンドに対応。
- 2019年12月3日: .NET Core 3.1(LTS: 長期サポート)がリリース。
.NET Core 4 は、ブランディングの混乱をさせるためスキップ。
.NET 5の統合(2020年)
[編集]- Microsoftは、.NET Coreと従来の.NET Frameworkを統一し、.NET 5をリリース。
- 2020年11月10日: .NET 5登場。
- これにより、「Core」の名称が廃止され、「.NET」として再統一。
- 単一のプラットフォームでデスクトップ、Web、クラウド、モバイル、IoTなど、幅広いアプリケーションを開発可能に。
- 特徴:
- パフォーマンスのさらなる向上。
- C# 9.0やF# 5のサポート。
.NET 6(LTS)のリリース(2021年)
[編集]- 2021年11月8日: .NET 6(LTS)がリリース。
- 長期サポートバージョンとして安定したプラットフォームを提供。
- BlazorやMAUI(.NET Multi-platform App UI)など、クロスプラットフォームのUIフレームワークを強化。
.NET 7の最新技術(2022年)
[編集]- 2022年11月8日: .NET 7がリリース。
- パフォーマンスのさらなる最適化。
- クラウドネイティブアプリケーションの構築に最適化された機能。
- 新しいランタイム機能の追加。
.NET 8の最新技術(2023年)
[編集]- 2023年11月14日: .NET 8がリリース。
- 長期サポート(LTS)バージョンとして3年間サポート。
- ランタイムのパフォーマンスやガベージコレクションの最適化。
- C# 12の搭載と新たな機能の追加。
- クラウドネイティブアプリケーション構築を支援する.NET Aspireの導入。
.NET 9の最新技術(2024年)
[編集]- 2024年11月13日: .NET 9がリリース。
- クラウドネイティブアプリケーションとパフォーマンスに特化。
- 標準サポート(STS)リリースとして18か月間サポート。
- 新たにGitHub Discussionsでのプレビューアップデート投稿を導入。
.NETランタイム
[編集]- 機能スイッチ用の新しい属性モデルを追加し、トリミング対応を実現。
- ガベージコレクションにアプリケーションサイズへの動的適応機能を導入(Server GCをデフォルトで置き換え)。
- ループ最適化、インライン化、Arm64ベクトル化など、多数のパフォーマンス向上。
.NETライブラリ
[編集]- System.Text.Json: nullable参照型注釈のサポート、JSONスキーマのエクスポート機能を追加。
- LINQ:
CountByやAggregateByメソッドを追加し、GroupByなしでキーごとの状態集約を実現。 - 優先度付きキュー: 要素の優先度を更新するための
Removeメソッドを追加。 - 暗号化: KMACアルゴリズム対応の新しいクラスを追加。
- TimeSpan: intから直接生成するための
From*メソッドを追加。 - リフレクション: PDBサポート付きの
PersistedAssemblyBuilder型を追加し、デバッグ可能なアセンブリ生成をサポート。
.NET SDK
[編集]- ワークロードセット: ワークロード全体を単一のバージョンに固定する新機能を導入。
- dotnetツール: 新しいオプションにより、ツールがターゲットとしているバージョン以上のランタイムで実行可能にする設定が可能に。
- テスト: MSBuild統合の強化、並列テストの実行をサポート。
- セキュリティ監査: 直接および推移的なパッケージ参照の両方に対して実行。
- ターミナルロガー: デフォルトで有効化され、使用性を改善。
- MSBuildスクリプト解析: 新しい「ビルドチェック」機能を追加。
- 新コマンド: ワークロードインストール履歴を表示する
dotnet workload historyコマンドを追加。
AIビルディングブロック
[編集]- Microsoft.Extensions.AIとMicrosoft.Extensions.VectorDataパッケージを通じてAIサービスと連携する統一レイヤーを提供。
- TensorPrimitives: SIMD最適化やジェネリックオーバーロードを含む新しいテンソル操作を提供。
- Tensor<T>: AIライブラリとの効率的な相互運用性を実現し、多次元データの操作を強化。
ASP.NET Core
[編集]- パフォーマンス最適化: 高スループット、より高速な起動時間、メモリ使用量の削減。
- Blazor: 新しいハイブリッドおよびWebアプリテンプレートを導入。
- セキュリティ: 認証および認可のための新しいAPIを追加。
.NET MAUI
[編集]- CollectionViewおよびCarouselViewのパフォーマンス向上(iOSおよびMac Catalyst向け)。
- 新コントロール: Windows向けの
TitleBarデスクトップコントロール、新しいHybridWebViewコントロールを追加。
EF Core
[編集]- Azure Cosmos DB向けのデータベースプロバイダーの強化。
- AOTコンパイルおよびプリコンパイルクエリへの対応を強化。
C# 13
[編集]- 新機能:
paramsコレクション、lock型の改良、新しいエスケープシーケンス(\e)など。 - プレビュー機能: フィールドバックプロパティを追加。
F# 9
[編集]- 新機能: Nullable参照型のサポート、判別共用体の
.Is*プロパティを追加。
現在と将来
[編集]- .NETはMicrosoftが推進するモダンなアプリケーション開発基盤として進化し続けている。
- 将来的には、AIや機械学習、IoT、クラウドネイティブ技術への対応がさらに拡大される予定。
まとめ
[編集].NET(旧.NET Core)は、Windows特化の.NET Frameworkからスタートし、クロスプラットフォーム対応の.NET Coreを経て、現在の.NETへと進化しました。この過程で、オープンソース化や最新技術への対応が進み、さまざまな環境で利用可能なフレームワークとして確立されました。