【どっとねっとふれーむわーく】

.NET Framework とは?

💡 C#・VB.NETアプリを動かすMicrosoft製の実行基盤、後継は.NET(Core)
📌 このページのポイント
.NET Framework のスタック構造 Webアプリ デスクトップ API / サービス コンソールアプリ アプリ層 クラスライブラリ(BCL) ファイルIO / ネットワーク / コレクション / LINQ ライブラリ層 ASP.NET (Web) WPF / WinForms Entity Framework FW層 CLR(共通言語ランタイム) メモリ管理 / GC / JITコンパイル / 型安全 実行環境 C# VB.NET F# / その他言語 言語層
.NET Frameworkのスタック構造のイメージ
ひよこ ひよこ

.NET Frameworkって何?

ペンギン先生 ペンギン先生

MicrosoftC#やVB.NETで書いたプログラムを動かすための実行基盤。Javaランタイム(JVM)に相当するもので、CLR(Common Language Runtime)がコードを実行して、FCL(Framework Class Library)という膨大なクラスライブラリを使えるようにする。

ひよこ ひよこ

.NETと.NET Frameworkは別物なの?

ペンギン先生 ペンギン先生

別物だけど関係している。.NET FrameworkはWindows専用の旧版。.NET Core(現在は.NETと統合)はLinux・macOS・Windowsに対応したクロスプラットフォーム版。Microsoft公式は新規開発には「.NET 8/9」を推奨していて.NET Frameworkは4.8で開発終了(保守のみ継続)。

ひよこ ひよこ

既存の.NET Frameworkアプリはどうするの?

ペンギン先生 ペンギン先生

動き続けるので今すぐ変える必要はないが、Windows専用でしか動かない・新機能が入らないなどのデメリットがある。新機能や性能改善が必要なら.NETへの移行(マイグレーション)を検討する。互換性が高い場合は比較的スムーズに移行できる。

ひよこ ひよこ

C#って他の言語と比べてどんな特徴があるの?

ペンギン先生 ペンギン先生

JavaC++のいいとこ取りをした言語と言われていて、型安全性が高くてIDEの補完が強力なのが強み。LINQというデータ操作の仕組みやasync/await非同期処理は、他の言語にも影響を与えたほど優れた設計だよ。

ひよこ ひよこ

.NETって将来性はあるの?

ペンギン先生 ペンギン先生

かなりあるよ。.NET 8以降はAOTコンパイル(事前コンパイル)で起動が超高速になって、コンテナサーバーレスとの相性が良くなった。AIとの統合も進んでいて、Semantic Kernelという公式のAI開発フレームワークもある。Microsoftが全力で投資し続けているから、エンタープライズ開発では安泰と言えるね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
.NET Frameworkって出てきたら「Windows向けC#/.NETアプリの実行基盤、後継の.NET(Core)へ移行中」と思えばOK!
📖 おまけ:英語の意味
「.NET Framework」 = ドットネット フレームワーク
💬 2002年にMicrosoftがリリース。Javaに対抗するプラットフォームとして設計された。2016年に.NET Coreとしてオープンソース・クロスプラットフォーム版が登場し、現在は統合されて「.NET」と呼ばれる
← 用語集にもどる