多すぎる".NET"と名の付くもの（とその関連技術）を整理した

# 🫣TL;DR
.NETをいろいろ触りだしてその界隈の会話に入ると、似た名前が飛び交って何が何だか分からない。

調べてみると、どうやらバージョニングだけにとどまらず名前が変わっている歴史があり（主に.NET Core -> .NETのこと）、それのせいで必要以上に混乱していたことが分かった。

そういった人が他にもいるだろうと思い、これを機にまとめる。

# 本題
この記事の内容は以下のツリーに尽きます。

```
.NET Family（.NET関連技術）
├── .NET Framework（プラットフォーム。VB, C#, F#で実装）
│   ├── VB.NET（言語+フレームワーク）
│   ├── C#.NET（言語+フレームワーク）
│   └── ASP.NET（Webアプリケーションフレームワーク）
│       ├── ASP.NET Web Form
│       ├── ASP.NET MVC
│       ├── ASP.NET Web Pages
│       ├── ASP.NET Web API
│       └── ASP.NET SignalR
├── .NET（旧.NET Core。プラットフォーム）
│   ├── ASP.NET Core（Webアプリケーションフレームワーク）
│   │   ├── ASP.NET Core Web アプリ（Razor Pages）
│   │   ├── ASP.NET Core Web アプリ（MVC。Blazor + Controller）
│   │   ├── ASP.NET Core Web API（Contoller or Minimal API）
│   │   ├── ASP.NET Core SignalR
│   │   ├── ASP.NET Core Blazor（Blazor）
│   │   │   ├── Blazor Server
│   │   │   └── Blazor WebAssembly
│   │   └── .NET MAUI Blazor
│   │       └── BlazorWebView
│   └── .NET MAUI（.NET Multi-Platform App UI。Xamarin.Forms の進化版。クロスプラットフォームアプリを実装するフレームワーク）
├── Windows Forms（WinForms。Windows向けのデスクトップアプリを実装するUIフレームワーク）
├── WFP（Windows Presentation Foundation。Windows向けのデスクトップアプリを実装するUIフレームワークUIフレームワーク。.NET Framework版と.NET版がある）
├── UWP （Universal Windows Platform。Windows向けのクライアントアプリを実装するプラットフォーム）
└── Xamarin（C#で実装）
    ├── Xamarin.iOS（旧MonoTouch）
    ├── Xamarin.Android
    ├── Xamarin.Mac（旧MonoMac）
    ├── （Xamarin Native）（通称。Xamarin.iOS/Android/MacのネイティブUI）
    └── Xamarin.Forms（クロスプラットフォームアプリを実装するUIフレームワーク）

.NET Foundation         ...　.NETエコシステムについてオープンソース開発と協力の促進を行う非営利団体
.NET Standard           ... BCLの仕様の一つ
Active Sever Pages(ASP) ... Web ページの作成技術
Mono                    ... Xamarinで使用される.NET BCL
NuGet                   ... .NET向けのパッケージマネージャ
Razor                   ... ASP.NET MVCやASP.NET Web Pages、Blazorで使用されているテンプレートエンジン。

ADO.NET                 ... Active Data Objects(ADO)を.NET Frameworkで動かすことを目的としたソフトウェアコンポーネント
Entity Framework        ... .NET Framework用のORM
EF Core                 ... .NET用のORM
Dapper                  ... ORMの一種
```

おまけ）
数字がついているバージョンの変遷。
（XamarinはWikipediaやらの情報鵜呑みなので、どの技術を指したバージョンのことか分からず、あまり参考にはならない。）

|                 | .NET Framework       | .NET Core     | Xamarin     | 
| --------------- | -------------------- | ------------- | ----------- | 
| 2002/01         | .NET Framework 1.0   |               |             | 
| 2003/04         | .NET Framework 1.1   |               |             | 
| 2005/11         | .NET Framework 2.0   |               |             | 
| 2006/11         | .NET Framework 3.0   |               |             | 
| 2007/11         | .NET Framework 3.5   |               |             | 
| 2010/04         | .NET Framework 4.0   |               |             | 
| 2012/08         | .NET Framework 4.5   |               |             | 
| 2013/02         |                      |               | Xamarin 2.0 | 
| 2013/10         | .NET Framework 4.5.1 |               |             | 
| 2014/05         | .NET Framework 4.5.2 |               | Xamarin 3   | 
| 2015/07         | .NET Framework 4.6   |               |             | 
| 2015/11         | .NET Framework 4.6.1 |               |             | 
| 2016/06         |                      | .NET Core 1.0 |             | 
| 2016/08         | .NET Framework 4.6.2 |               |             | 
| 2017/03         |                      | .NET Core 1.1 |             | 
| 2017/04         | .NET Framework 4.7   |               |             | 
| 2017/08         |                      | .NET Core 2.0 |             | 
| 2017/10         | .NET Framework 4.7.1 |               |             | 
| 2018/04         | .NET Framework 4.7.2 |               |             | 
| 2018/05         |                      | .NET Core 2.1 |             | 
| 2018/12         |                      | .NET Core 2.2 |             | 
| 2019/04         | .NET Framework 4.8   |               |             | 
| 2019/09         |                      | .NET Core 3.0 |             | 
| 2019/12         |                      | .NET Core 3.1 |             | 
| 2020/11         |                      | .NET 5        |             | 
| 2021/11         |                      | .NET 6        |             | 
| 2022/08         | .NET Framework 4.8.1 |               |             | 
| 2022/11         |                      | .NET 7        |             | 
| 2023/11（予定） |                      | .NET 8        |             | 

# まとめ
.NET Frameworkと.NETを大阪の地名で例えると「大阪と新大阪」、「天満（てんま）と天満橋（てんまばし）」くらい違う（適当）

# 参考
https://synamon.hatenablog.com/entry/2021/10/18/190000

https://ja.wikipedia.org/wiki/.NET_Framework

https://ja.wikipedia.org/wiki/.NET

https://en.wikipedia.org/wiki/Xamarin

https://learn.microsoft.com/ja-jp/aspnet/core/fundamentals/choose-aspnet-framework?view=aspnetcore-7.0

https://learn.microsoft.com/ja-jp/dotnet/standard/choosing-core-framework-server?toc=%2Faspnet%2Fcore%2Ftoc.json&bc=%2Faspnet%2Fcore%2Fbreadcrumb%2Ftoc.json&view=aspnetcore-7.0

https://stonebeach-dakar.hatenablog.com/entry/2017/01/18/202815

https://codezine.jp/article/detail/11400

https://learn.microsoft.com/ja-jp/archive/msdn-magazine/2017/september/net-standard-demystifying-net-core-and-net-standard

https://techinfoofmicrosofttech.osscons.jp/index.php?ADO.NET%20vs%20ORM%20(Entity%20Framework%2C%20Dapper)