先回のMicrosoft Buildで、同社.NETプログラムマネージャのScott Hunter氏が、.NET Coreが.NETの未来である(.NET Core is the future of .NET)と題した記事を発表した。
Microsoftは昨年、Visual Studio Live! カンファレンスの基調講演で、.NET Frameworkから.NET Coreに移行する方針をすでに公表している。オープンソース開発スタックとしての.NET Coreが初めて発表されたのは2014年だが、最初のメジャーリリースがASP .NET CoreおよびEntity Frameworkの対応バージョンとともに発表されたのは2016年半ばのことだ。.NET Coreのオープンソース化は、クロスプラットフォーム.NETの基盤を確立し、より強力なエコシステムを構築するための取り組みであった。
.NET Coreの最初のメジャーバージョンでは、ハイパフォーマンスWebとマイクロサービスに焦点を合わせていた。その1年後、バージョン2.0の発表では、複数のAPIとコンポーネントが追加されたことで、Webアプリケーションの.NET Coreへの移行が容易になった。InfoQも当時、.NET Core 2.0のリリースとその将来について、コミュニティのベテラン開発者たちと議論している。重要なのは、.NET Coreが.NET Frameworkに対して大幅なパフォーマンス上のメリットを提供することによって、新たなアプリケーション開発に適した、すでに安定したプラットフォームである、と認識されたことだ。開発者のひとりであるJeff Amons氏は、.NET Coreの強みのひとつとして、サーバー中心の設計モデルを挙げている。
.NETは元々、1台のWindowsコンピュータ上のひとりのユーザ用に最適化されていました。(...) CoreはMicrosoftに対して、そのベースをサーバ中心モデルにリセットするチャンスを与えたのです。
.NET Core 3.0の発表で注目されたのは、Windows Forms、Windows Presentation Framework(WPF)、UWP XAMLを中心としたWindowsデスクトップアプリケーションのサポートだった。その時に.NET Standardが、Windows Desktop Appsと.NET Coreの共通基盤として提示されている。さらに.NET Coreは、ASP.NET Core、Entity Framework Core、ML.NETを含むコンポジションの一部としても描かれた。Windowsデスクトップアプリケーションの開発と.NET Coreへの移植のサポートは、Windowsプラットフォームとの互換性を備えた追加コンポーネントである"Windows Desktop Pack"によって提供されることになった。
イメージ引用:https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/
Hunter氏の記事ではさらに、.NET Core 3.0後の次期リリースである.NET 5が、".NET Core vNext"として発表されている。発表の中でMicrosoftは、.NET 5を、デスクトップ、Web、クラウド、モバイル、ゲーム、IoT、AIアプリケーションの統合プラットフォームとして表現した。それに合わせて、Visual Studioの全エディションとコマンドラインインターフェイス(CLI)を明確に統合することも明らかにした。新しい.NETバージョンの目標は、単一の.NETランタイムとフレームワークをクロスプラットフォームに開発して、.NET Core、.NET Framework、Xamarin、Mono(.NETの元となったクロスプラットフォーム実装)それぞれの最も優れた機能をそこに統合することだ。 さらに.NET 5は、すべてのプラットフォームにおけるJavaとの相互運用性と、複数のオペレーティングシステムを対象としたObjective-CおよびSwiftとの相互運用性をも備えたものになる。
イメージ引用:https://devblogs.microsoft.com/dotnet/introducing-net-5/
今回の.NET 5の発表にコミュニティは、特にブランディングと下位互換性について懐疑的な見方をしている。例えばlol768というユーザは、次のように述べている。
vNextという名称は、ASP.NET(ASP.NET MVCと混同しないように) v6を示すものとして、ASP.NET界隈ではすでに以前から使用されています。ASP.NET Coreでバージョニングが再スタートされて、現在はバージョン2です。Entity Frameworkは、以前は.NETフレームワークのコンポーネントでしたが、現在はスタンドアロンです。次はCoreバージョンでしょうか?(...) 何年も前には、Microsoft .NET Passportというのもありました ... .NETブランドに関連してこれまで述べたものとは、まったく関係ありませんが。そして今度は、FrameworkでもCoreでもない、.NET 5です — ASP.NETは、このCoreブランドもやめるのでしょうか?複雑で訳が分からなくなっているのは、私だけですか?
とはいえ、.NETにおける今後の投資がすべて.NET Coreに関連するものになり、.NET 5が.NET Coreの次の一歩であることは間違いない。関連する開発はすべて今後もオープンソースであり、コミュニティ指向で行われる。.NET Coreの製品リリースは今年後半の9月に、.NET 5は2020年後半に予定されている。現時点の.NET Coreロードマップは、こちらから入手可能だ。
イメージ引用:https://devblogs.microsoft.com/dotnet/introducing-net-5/