この内容は、主にシステムエンジニア(SE)に対してクリティカルなことだと思います。
Microsoftの「.NET Framework」が「.NET 5」になって、複数のフレームワークと統合されます。
だからと言って「何が変わる?」って感じですが、少なくとも2021年以降は積極的に移行をかけていく必要があります。
この記事では。「”.NET 5”がどういったフレームワークなのか」ということから、将来性や考えられる問題点などを解説します。
「.NET 5」とは
まずはじめに、「.NET 5」の概要から解説していきます。
公式発表されたのは、2019年5月に開催された「Microsoft Build 2019」にて「.NET 5」のリリースすることが発表され、正式リリースは2020年11月を予定しています。
次の文章がMicrosoftの公式ホームページで公開されている情報を抜粋したものです。
統合バージョンであるこの .NET 5 では、すべての種類の .NET アプリケーションがサポートされる予定です。つまり、Xamarin、ASP.NET、IoT、およびデスクトップです。さらに、単一の CoreFX/Base Class Library (BCL)、2 つの別個のランタイムとランタイム コード ベース (意図的に大きく異なる 2 つのランタイムのソースを 1 つにまとめることは非常に難しいため)、単一のツール チェーン (dotnet CLI など) を活用する予定です。その結果、動作、API、開発者のエクスペリエンス全体に統一性が備わります。
(中略)…
統合されると、個別の各フレームワークに限定されていた多くの機能が、すべてのプラットフォームで利用可能になります。たとえば、これらのプラットフォームに対する csproj の種類は、よく親しまれているシンプルな .NET Core csproj ファイル形式に統合される予定です。これにより、.NET Framework のプロジェクトの種類では、.NET Core csproj ファイル形式を活用できるようになります。Xamarin および .NET Framework (WPF および Windows フォームを含む) の csproj ファイルでは .NET Core csproj ファイル形式への変換が必要になりますが、その作業は ASP.NET から ASP.NET Core への変換とほぼ同じです。
つまり、「.NET」のフレームワークには現在「.NET Framework」、「.NET Core」、「Mono」という3つが存在するが、それらが1つに統合されます。
それにより、Windows/Linux/macOS/iOS/Androidなどのを単一のプラットフォームでカバーできるようになるということです。
「.NET 5」に含まれない機能
.NET Framework 3.0に導入されたWCF(Windows Communication Foundation )がサポートされていません。
それと、ASP.NETのWeb フォーム (Web Forms)もサポート外です。
この2つを使用している、Webアプリケーションは少なくないと思います。
将来的には、現代のVB6.0と同じく”負の遺産”となっていく可能性があるということです。
「.NET 5」の将来性
「.NET 5」は統合フレームワークとして走りだしたばかりなので、一度に全てのモノを内包した完璧なフレームワークとはならないはずです。
現段階の3つのフレームワークの統合でも、実際にリリースすれば多くの問題点(問い合わせ)が発生すると思います。
上で解説した「.NET 5」に含まれない機能のWCFは「今は含まれていないだけ」ということも予想されます。
Webフォームは復活することは考えずらいですが…
理由は、ASP.NET MVC(Model View Controller)が主流となっているからです。
「.NET 5」の考えられる問題点
将来性の箇所でも挙げましたが、リリース直後は問題点(問い合わせ)が多くなると思います。
例えば、「.NET Framework からの切替がうまくいかない」などがあると思います。
それと同時に、外部dllを製造している企業への問い合わせも殺到することが予想できます。
「御社の○○サービスは .NET 5 に対応してないの?」といった内容です。
切替るのはいいけど、外部の仕組みがついてこれていないという状況が発生します。
私の感覚としては「.NET 5」の導入は少なくとも今年はありえないですね。
正式版リリース後のマイナーバージョンアップがある程度おこなわれていて、外部の仕組みも「.NET 5」との互換性が担保され始めたら”導入”に踏み切ります。
まとめ:「.NET 5」は発展途上
「.NET 5」について解説と将来性、問題点について語りました。
どんなものでもそうですが、新しいものがリリースされたばかりの頃は、何かと問題が発生するものです。
でも、Microsoft的にはビッグプロジェクトなだけに、「またフレームワークを分裂します」なんてことはありえないと思います。
これから、世界的に利用者がドンドン増えていくことは予想できているので、「どこまで統一化できるか」、「汎用かできるか」というところが焦点になってくると思います。
私はシステムエンジニア(SE)なので、かなりクリティカルなニュースでした。
これから現場でも導入を検討する動きが出てくると思います。
そういった時に、「時期尚早なのか」「ベストタイミングなのか」ということを、.NET 5 のリリースノートを見ながら判断していく必要がありますね。
人気記事 システムエンジニア(SE)は副業をした方がいい理由とおすすめの方法
人気記事 【IT業界向け】年収UPの実績アリ!おすすめの転職サイト5選