🟣

.NETの全体像を理解したい

2024/06/11に公開

はじめに

.NETはMicrosoftが提供している開発者用プラットフォームです。

.NETは様々な種類のアプリケーションを動かすことができて便利な一方、似たような名称のサービスが多くて理解しづらいという側面があります。

そんな.NETを理解するために、.NETの歴史や、.NETでできること、そして数々の似たような名称のサービスの違いについて解説しました。

その1 .NETの歴史

.NETを理解するため、まずはその歴史を簡単に紹介します。

.NETの歴史を理解するために重要となるのが、①.NET Framework、②.NET Core、③.NET の3つです。

①.NET Framework

まず2002年に .NET Framework が登場します。かつては.NETといえば.NET Frameworkを指していました。
しかし、バージョン4.8をもって.NET Frameworkのメジャーアップデートは終了しました。

②.NET Core

その後2016年に .NET Coreがリリースされます。
これは、前述の.NET Frameworkとは"別物"で、マルチプラットフォーム化などが行われました。
.NET Coreはバージョン3.1までリリースされました。

③.NET

続いて、2020年に発表された .NET 5 からは、名前に「Core」が含まれなくなりました。
.NETは ①.NET Framework と ②.NET Coreとが統合された後継バージョンという位置付けになっています。
そして2024年6月現在は最新版の .NET 8がリリースされています。

これを理解すると『.NET』の全体像がつかみやすくなります。

その2 .NETでできること

次は、.NETで何ができるのか、最新の.NET 8を基準に紹介します。

言語とライブラリ

.NETはC#、Visual Basic、F#の3言語をサポートしています。
ライブラリも豊富で、NuGetというパッケージマネージャーには10万を超えるパッケージが登録されています。

何が作れるのか

スマホアプリ、Webアプリ、デスクトップアプリ、ゲームなど、さまざまな種類のアプリケーションを構築することができます。

プラットフォームについて

クロスプラットフォームであるため、作成したアプリは異なるOS上(Windows、Mac、Linuxなど)で動かすことが可能です。

実際の開発例

例として、株式会社ジードで実際に開発したWebアプリについて紹介します。

このWebアプリを作る際、プログラミング言語は C# を選択しました。
そして.NETがサポートしている ASP.NET Coreフレームワークを用いて作成し、 Azure上に発行。 Azure App Service(Linux) 上で動作しています。

このWebアプリは、Windows、Mac、Linuxなど異なるOS上で開発することができ、同じく異なるOS上で実行することができます。

その3 .NETの名前がつくもの

2024年6月現在、最新の.NETといえば .NET8 を指しますが、「.NET」の名前がつくものは複数存在します。
例えば、「VB.NET」、「C#.NET」、「ASP.NET」、「ADO.NET」などです。

VB.NETとは

2002年にリリースされた、.NET環境に対応したVB(Visual Basic)のことです。

C#.NETとは

.NET環境において、プログラミング言語にC#を利用している状態を指します。
※ちなみに、現在Microsoftの公式ページではC#.NETという用語は使われなくなっています。

ASP.NETとは

.NETにおけるWebアプリケーション開発のためのフレームワークです。
これは.NET Frameworkの時代から存在しており、.NET Core登場以降のASP.NETは、「ASP.NET Core」として区別されます。

ADO.NETとは

.NET Framework上で実行されるプログラムから様々な形式のデータへアクセスできるようにするためのクラスの集合です。
しかし現在は、Entity Framework Coreでのデータベースアクセスが主流になっています。


他にも、その1で説明した「.NET Framework」や「.NET Core」もあり、実際に.NETで開発をしている人でも混乱することがあります。

それぞれ名前は似ていますが用途が異なるため注意が必要です。

参考サイト

株式会社ジード テックブログ

Discussion