先週.Net Core 3.0のプレビュー版がリリースされたというネット記事を見て、.NET Coreって前から耳にしてはいましたが、どんなものか知らなかったので少し調べてみました。
.NET Coreはマイクロソフトが.NET Frameworkベースにオープンソース化したものです。
特徴としては「クロスプラットフォーム」「オープンソース」であることが言えます。
以前のマイクロソフトはWindowsで囲い込んでいるイメージが強かったですが、今マイクロソフトは「Any Developer,Any App,Any Platform」(すべての開発者が、さまざまなアプリケーションを、いろんなプラットフォームで開発できるように)というビジョンを掲げています。
今までの.NET Frameworkで開発したアプリケーションはWindowsでしか動きませんでしたが、.NET Coreで開発したアプリケーションは、Windowsでも、Macでも、Linuxでも動かすことができます。開発自体もWindowsだけでなく、MacやLinuxでできるようになりました。
ASP.Net Frameworkで開発したWebアプリケーションはIISに依存するため、Windows+IISの環境でした動かせませんでしたが、ASP.NET CoreだとIISに依存しないため、LinuxでApacheを使用しるというような構成にすることができます。
現在だと.Net Coreで開発できるアプリケーションは、サーバサイドのコンソールアプリケーションやASP.Net Coreを使用したWebアプリケーションに限られていますが、C#を使用していろんなOSで動くアプリケーションを作れるのはすごく魅力的です。
.Net Core 3.0ではWindows FormsやWPFのディスクトップアプリケーションにも対応されたそうです。(ディスクトップアプリはWindows環境でしか動きませんが。)
他にもIoTや人口知能/機械学習のアプリケーション開発もサポートされるそうです。
正式リリースは2019年予定。
.Net Coreはオープンソースでもあるため開発スピードが速く、今後の機能強化も「.Net Framework」よりも「.Net Core」の方が中心になると見込まれています。
今後はWindowsディスクトップアプリを開発するにも.Net Coreの方を採用することが多くなるかもしれません。
まぁ、何よりC#でいろいろなアプリが作れるようになったのは嬉しい限りです。
|