.NET Standardとは何か?.NET Coreとの違いも解説

かつては「.NET Framework」を理解していれば、Windows フォームを利用してのWindowsアプリ開発や、ASP.NETを利用してのWebアプリ開発などができました。しかし現在、Webアプリの開発現場では、「.NET Core」が主流となってきています。この.NET Coreを理解するためには、「.NET Standard」についての概念の理解も求められます。ここでは、.NET Coreと.NET Standardの違いなどについてまとめましたので、確認してみてください。
- SE
- なんだか「.NET」って単語がいっぱい出てきてややこしいですね……
- PM
- そうですね。IT技術は日々進化しているので、次々と製品が誕生します。マイクロソフト社が開発・リリースしている.NET系統もそのひとつですね。
.NET Standardとは何か
まずは下記の図表を確認してみましょう。
[table id=26 /]各々のフレームワークには、Base Class Libraries(BCL)が存在しています。このBCLは「基本クラスライブラリ」と訳すことができ、代表的なクラスとして文字列や例外処理などがあります。.NET StandardはこのBCLを実装するための仕様です。つまり、最もベースとなる部分が「.NET Standard」だということになります。
たとえ、自作のライブラリであっても、この.NET Standardの仕様に則ったライブラリであれば、.NET Framework、.NET Core、Xamarin でプログラムの改修をしなくても共通して使用することができます。
.NET Standardと.NET Coreの違いについて
上述したように.NET Standardは、どのアプリケーション開発でも共通で使用できる最もベースとなる部分です。.NET Standardを検索すると、.NET Coreがあわせて出てくることも多いと思います。
この.NET Coreは汎用的なフレームワーク、またはクロスプラットフォーム版の.NET Frameworkとも言えます。通常の.NET FrameworkはWindows環境でしか動作しませんが、.NET CoreはLinux環境でも動作することが可能です。
Visual StudioでC#を使用してアプリケーション開発を行う場合、.NET Coreを使うことでWindowsにこだわらずに開発することができるということです。
- SE
- .NET CoreやXamarinでの開発はこれからますますニーズが増えそうですよね。これらの技術についてもう一度勉強してみます。
- PM
- この業界は勉強することを怠ったら、これからできる仕事が減っていくかもしれませんよ。それは.NET系統でもいえることです。技術の習得には、自らどんどん努めていくべきでしょう。
ASP.NETからASP.NET Coreに移行しています
Visual StudioでWebアプリを開発する現場では、ASP.NETからASP.NET Coreが主流となってきています。これから、ますます.NET Coreは進化するでしょうから、今からでも学習機会を多く設けて、.NET Coreの現場でも活躍できる準備をしておきましょう。併せて、.NET Standardに関しても理解を深めておくことをおすすめします。