.NETのロードマップ
2000年にリリースされた最初のβ版から20年近くに渡って進化を続けてきた.NET Frameworkは、バージョン4.8が最終バージョンとなります。以降は.NET Coreに統合していくことをMicrosoftは計画しています。
これからWPFを始めるなら.NET Coreを選ぶべきなのです。また、現在.NET Frameworkで開発している人も、いつかは.NET Coreに移行するときがやってきます。
.NETの統合
.NETファミリーの実装は、主なものだけでも現在3つあります。ここまで述べてきた.NET Frameworkと.NET Core、そして、Xamarinで使われているMonoです。その他にも、組み込み機器用の.NET Micro Frameworkや、WebページやWindows Phoneで使われたSilverlightなど、多くの実装が作られてきました。
このように乱立してしまった.NETファミリーを、Microsoftは.NET Coreに統合しようと計画しています。.NET Core 3.xの次バージョンを「.NET 5」とし、今後は.NET 5だけにしていくと2019年5月に発表されました。
次の図は「再統合された .NET:.NET 5 に関する Microsoft の計画」に掲載されている図の一部分で、3つの.NETファミリーを.NET 5に統合していくロードマップです。「.NET 5」という名称には「Core」と付いてはいませんが、.NET Coreの新バージョンであることが示されています。
次からの3つのスライドは、「.NET Core 3 最新情報セミナー」(2019年9月26日開催)におけるMicrosoft井上章氏のセッション「.NET 最新ロードマップと今押さえておきたい技術要素」の資料からです。Monoも統合されるということは、Android/iOSでもXamarinの一部として.NET 5が動くということになります。また、図にはありませんが、同様にMonoを使っているUno PlatformのWebアセンブリ対応も.NET 5に切り替わるでしょうし、もとから.NET Core 3.1を使っているBlazor WebAssemblyも.NET 5に対応するはずです。つまり、Webブラウザーでも.NET 5が動くことになります。
.NET Coreのスケジュールとサポート期間
2019年12月3日に.NET Core 3.1がリリースされました。このバージョンはLong Term Support (LTS)リリースとされ、長期間のサポートがあります(3年間、または、次のLTSリリース後1年間のうち、長いほう)。なお、LTSではないバージョン(.NET Core 3.0がそうです)は、次のリリースから3か月後までのサポートとなっています(.NET Core 3.0は2020年3月3日でサポート終了)。.NET Coreのサポート期間について、詳しくは".NET Core Support Policy"をご覧ください。
.NET Core 3.1以降の予定は、以下のように計画されています。次バージョンの名称から「Core」が消えますが、.NET Coreのバージョンアップです。
- .NET 5:2020年11月
- .NET 6:2021年11月(LTS)
- .NET 7:2022年11月
- .NET 8:2023年11月(LTS)
LTSとそうでないリリースとではサポート期間が違うことに注意してください。例えば、.NET Core 3.1はLTSなので、次のLTSである.NET 6リリースの1年後までサポートがあります。ところが.NET 5はLTSではないので、.NET 6リリースの3か月後までしかサポートされません。
次の図は、先ほどと同じ資料からのものです。