.NETの全体像を理解したい
はじめに
.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