.NET Framework(ドットネットフレームワーク)はマイクロソフト社が開発・提供するアプリケーション開発・実行環境用フレームワークです。多くの方が『.NET(ドットネット)』と略称の呼び名で慣れ親しんでおります。.NET Frameworkはプログラミング言語であるC#やVisual Basicなどと合わせて『C#.NET』、『VB.NET』などと呼ばれることも多くその違いや関係性について混乱されている方も多いようです。この記事では.NET Frameworkを理解するために初心者でも分かる特徴、C#.NET、VB.NET、ASP.NETとの違いや関係性について簡単に解説していきます。
.NET Frameworkとはマイクロソフト社が開発・提供するアプリケーション開発・実行環境用フレームワークです。主にVisual Studioで開発したプログラムをWindows上で動作させる
ためのに使用されます。Windowsアプリケーションのみならず、WebサービスやWebアプリケーションなどの開発をすることが出来ます。.NET Frameworkは『共通言語ランタイム』『基本クラスライブラリ』『フレームワーク』の3つで構成されております。また最大の特徴として『複数の言語で開発出来る』ということが挙げられます。
Visual Studioの特徴や種類などを解説している記事はこちら>>
.NET Frameworkの読み方は『ドットネット フレームワーク』です。「.NET(ドットネット)」と略称で呼ばれることが多いです。.NET Frameworkは2000年に生まれ、誕生当初は
「Microsoft .NET」という名称でした。このMicrosoft .NETは「PCやサーバ、システム、生活関連の電子機器などありとあらゆる情報システム&情報機器をいつでもどこでもインターネット経由で連携させること。」という構想に掲げておりました。
.NET Frameworkの特徴を見ていきましょう。
.NET Frameworkは複数のプログラミング言語で開発出来るという特徴があります。マイクロソフト社の提供するC#、VisualBasic、F#、および C++ と CLI を含む多くの言語から選択ができます。
.NET Frameworkは共通言語ランタイム(CRL)というアプリケーションを実行するための
仮想マシンを持つという特徴があります。共通言語ランタイム(CRL)は共通中間言語 (CIL)と呼ばれるプログラミング言語や開発環境に依存しない中間言語を読み取る仕様をベースとして開発されました。共通言語ランタイムはメモリ管理(ガベージコレクション)、型とアセンブリの管理、スレッド管理、例外処理などの役割も持っております。
.NET Frameworkの機能の一部を見ていきましょう
.NET Frameworkはメモリ管理の機能を提供しております。基本的に多くのプログラミング言語ではプログラムを実施する際、プログラマによってメモリの割り当てやオブジェクトの有効期限処理などを行う必要があります。.NET Frameworkでは共通言語ランタイム(CRL)がこの機能を提供しております。
.NET Frameworkは共通型システムです。従来のプログラミング言語は、コンパイラによって基本型が定義されます。このために言語間の相互運用性が複雑という課題がありました。.NET Framework では、基本型は共通対応の型へとシステムによって定義され、.NET Frameworkを対象とするすべての言語に適応します。
.NET Frameworkは様々な要件に適応する開発フレームワークを用意しております。Webアプリケーション向けのASP.NET、データアクセス向けの ADO.NET、サービス指向アプリ向けのWindows Communication Foundationなど様々な要件に適応するライブラリが用意されております。
.NET FrameworkとC#.NET、VB.NET、ASP.NETとの違いや関係性について頭を悩ませる方が多いようです。それぞれによって違いや関係性が異なりますので一つずつ見ていきましょう。
C#.NETとはプログラミング言語であるC#を.NET Frameworkにおいて使用する際の組合せを表現する名称を意味しております。C#は基本的に.NET Frameworkにおいて使用するプログラミング言語です。「C#」、「C#.NET」どちらでも呼ばれる機会が多いことから混乱を呼んでおりますがこれらは同義であると考えて問題ありません。
C# | プログラミング言語 |
C#.NET | プログラミング言語+フレームワーク |
VB.NETとはプログラミング言語であるVB(Visual Basic)を.NET Frameworkにおいて使用する際の組合せを表現する名称を意味しております。VBは度重なるアップデートを繰り返しておりVB6.0がリリースされた際に.NET Frameworkに対応するようになりました。一時は.NET Frameworkへの対応をわかりやすくするために正式名称を『VB.NET』とされましたが、2005年版より『VB 2005』というように以前通りの名称に戻っております。この名称変更の形跡も一般の方々を戸惑わせた理由の一つかもしれません。
VB | プログラミング言語 |
VB.NET | プログラミング言語+フレームワーク |
ASP.NETとはWebアプリケーションフレームワークです。C#.NETやVB.NETがプログラミング言語+フレームワークの組合せを意味していたのに対してASP.NETはフレームワークを表します。分かりやすく説明をすると.NET Frameworkの上に構築されたWebアプリケーションのためのフレームワークとなります。Visual Studioと組み合わせて使用することで、簡単に効率よく高機能なWebアプリケーションを開発することが出来ます。ASPとはActive Server Pages(アクティブサーバーページ)の略称でWebページを動的に作成する技術のことです。ASP.NETはこのActive Server Pagesを.NET Framework向けにしたものです。
ASP(Active Server Pages) | Webページを動的に作成する技術 |
ASP.NET | Webアプリケーションフレームワーク |
.NET Framework(ドットネットフレームワーク)を理解するために初心者でも分かる特徴、C#.NET、VB.NET、ASP.NETとの違いや関係性について簡単に解説させていただきました。.NET Frameworkを一言で表すと『マイクロソフト社が開発・提供するアプリケーション開発・実行環境用フレームワーク』です。フレームワークとしては珍しく「複数の言語で開発出来る」という代表的な特徴を持っております。.NET Frameworkはこれまでの歴史の中で名称変更や数々のバージョンアップなどを行い、製品の性能を高めながら多大な知名度を集めることに成功しました。.NET Frameworkについてこの記事に書かれている最低限の内容は理解しておくようにしましょう。