.NET 全体像

.NET

「.NET」は20年以上の歴史があります。.NETでできることはたくさんあり、長い歴史の中で進化しています。途中から呼び方も色々変わり、最終的に今の一言で.NETと呼ぶようになりました。
まずはこれまでの流れと.NETの全体を見て整理したいと思います。

.NET Framework

構成

.NETは年月とともに変化していっていますが、最下層にランタイム(CLR)があり、その上に基本クラスライブライ(BCL)があります。
このランタイムと基本クラスを使用してアプリケーションが動き、それぞれの機能ごとにアプリケーションモデルが存在します。
このアプリケーションモデルの作法を使用することで、各種アプリケーションを作成することができます。
上図にはありませんが、データベースアクセス周りのフレームワークであるADO.NETもあり複数のデータベースに対してアクセスすることができます。

ターゲットと特徴

ターゲットはWindowsのみです。.NET Frameworkが正式にリリースするまでのWin32アプリケーションの次世代版になります。
当時いつでもどこでも動作するのようなキャッチフレーズだったと思います。当初からLinux等でも動作させる構想はあったと思いますが、.NET Frameworkと呼んでいるものは、Windows上でのみ動く環境になります。

Windowsに特化したアプリケーションに優れています。Win32時代のアプリケーションの後継とも言えるWindows Forms、そしてそれを進化させたWPFはまさにWindows上でうごくデスクトップアプリケーションになります。
他にもWindowsアプリケーションとして、WebForm、時代の流れとともにASP.NET MVCが登場しました。動作するWebサーバーはIISに限られますが、Java等の環境に比べても引けを取らないWebフレームワークも十分の備えていると思います。
データベース周りもADO.NETがあり、WebサービスとしてWCF、Windowsサービスも作成でき、.NET FrameworkをインストールすればAllInOneとしてあらゆるアプリケーションを動作させることができます。

バージョンは.NET Framework4.8が最終版となっています。
.NET FrameworkがOSにプリインストールされ、OSがサポートされていれば.NET Framework4.8サポートされることになっています。(2025/04/21現在)

.NET Framework 公式サポート ポリシー
.NET Framework は、.NET 共通言語ランタイム、.NET Framework 基底クラス ライブラリ、WPF、ASP.NET Web Forms などの幅広いテクノロジをカバーしています。

.NET Core

構成

ランタイムと基本クラスライブラリの考え方は同じです。
図に記載はありませんが、WPF等のWindowsアプリケーションも作成できます。

ターゲットと特徴

.NET Coreと.NET Frameworkの大きな違いは、クロスプラットフォーム対応になります。.NET FrameworkはWindowsのみをターゲットにしていましたが、Linuxでも動作することができます。

ターゲットが広がったことが大きな特徴になりますが、パフォーマンス(高速化)も向上しています。サーバーサイド向けに最適化されているので、構成の図にはWPFのようなWindowsアプリケーションがなくなっているのではないかと思います。実際は.NET CoreでもWPFは存在していて、動きます。
バージョンは3.1まであり、その後、後述する.NETバージョン5として、統合されることになります。

.NET Coreだけということではないですが、.NET Framework、.NET Core、Xamarin(後述)に分かれたことで、出てきたのが「.NET Standard」です。.NET Standardは仕様であり、クラスライブラリを作成する際に使用されます。.NET Standardに準拠して作られたライブラリは、.NET Framework、.NET Core、Xamarinで使用できるライブラリになります。.NET Standardもバージョンがあり、バージョンによりサポートする範囲が変わります。

Xamarin

構成

iOSやAndroid向けのモバイルアプリ、MacOS向けのデスクトップアプリケーションの.NETです。
2024年5月1日でサポートが終わっています。今後は後述する.NET MAUIを使用します。

ターゲットと特徴

iOS、Android、MacOS向けのフレームワークです。
サポートが完了していますので、詳細は割愛します。

.NET

構成

これまで紹介した3つのフレームワークが統合されたのが.NETです。
Windowsアプリケーション、クロスプラットフォームのWebアプリケーション、モバイルアプリとすべてが統合された環境です。

ターゲットと特徴

ターゲットは、.NET Frameworkの後継として、Windowsはもちろん、.NET Coreを受け継いで、クロスプラットフォームのASP.NET Core、Xamarinを移行したiOS、Android、MacOSと幅広くサポートしています。

.NET3.1の後に初めてリリースされたのが.NET 5、その後もバージョンアップを重ねて最新版は.NET 10になります。.NET 6まではサポートが終了しています。
長期サポートになるのが偶数番号なので、今後新しく開発するのであれば、.NET 8そして最新版の.NET 10を使用するのが良いかと思います。

WindowsアプリケーションであればWPFを、モバイルアプリであれば、.NET MAUIを、WebアプリケーションであればASP.NET Coreが用意されています。
.NET から始まったわけではないですが、Azure向け、AI向けのモデルも存在します。

次回からは、.NETを使用して、様々なアプリの作り方を紹介していきたいと思います。

コメント

タイトルとURLをコピーしました