コンテンツにスキップ

.NET/沿革

出典: フリー教科書『ウィキブックス(Wikibooks)』

.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 CoreEntity Framework Coreも改良され、Webアプリケーションやデータベース操作の機能が強化された。

.NET Core 3.xの成熟(2019年)

[編集]
  • 2019年9月23日: .NET Core 3.0がリリース。
    • Windowsデスクトップアプリケーション(Windows Forms、WPF)のサポートを追加。
    • gRPCC# 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: CountByAggregateByメソッドを追加し、GroupByなしでキーごとの状態集約を実現。
  • 優先度付きキュー: 要素の優先度を更新するためのRemoveメソッドを追加。
  • 暗号化: KMACアルゴリズム対応の新しいクラスを追加。
  • TimeSpan: intから直接生成するためのFrom*メソッドを追加。
  • リフレクション: PDBサポート付きのPersistedAssemblyBuilder型を追加し、デバッグ可能なアセンブリ生成をサポート。

.NET SDK

[編集]
  • ワークロードセット: ワークロード全体を単一のバージョンに固定する新機能を導入。
  • dotnetツール: 新しいオプションにより、ツールがターゲットとしているバージョン以上のランタイムで実行可能にする設定が可能に。
  • テスト: MSBuild統合の強化、並列テストの実行をサポート。
  • セキュリティ監査: 直接および推移的なパッケージ参照の両方に対して実行。
  • ターミナルロガー: デフォルトで有効化され、使用性を改善。
  • MSBuildスクリプト解析: 新しい「ビルドチェック」機能を追加。
  • 新コマンド: ワークロードインストール履歴を表示するdotnet workload historyコマンドを追加。

AIビルディングブロック

[編集]
  • Microsoft.Extensions.AIMicrosoft.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へと進化しました。この過程で、オープンソース化や最新技術への対応が進み、さまざまな環境で利用可能なフレームワークとして確立されました。