.net column
.NET開発者のためのブログメディア

C# プログラミング

.NET Frameworkとは?できることや構成要素・CLIについて解説!

2021年06月14日

SE
.NETとはなんでしょうか?

PM
主にMicrosoft .NET Frameworkというアプリケーションや開発環境を表す単語です。

そもそも.NET Frameworkとは何?


.NET Frameworkとは、WindowsのシステムやWebサービスなどの開発をサポートする開発環境のことです。

.NET Frameworkは、特定のOS環境に依存しない開発環境として、Microsoftが開発しました。

アプリを作成するための開発環境としても使用されており、.NET Frameworkがないと動作しなくなるようなプログラムもあります。

.NETの歴史的経緯

.NETは、時代によって意味が変化してきました。

現在の.NETとは、開発環境である.NET Frameworkのことですが、初期の.NETは、Microsoft.NETのことを意味しています。

Microsoft.NETとは、XMLを使用したSOAPと呼ばれる通信規格によって、PC以外にもスマホや家電などのあらゆる電子機器をインターネットに接続して連携させる構想のことです。

CLI(共通言語基盤)とは

CLI(共通言語基盤)とは、.NET Frameworkの実行環境やプログラムの記述言語に関する仕様をまとめた規格のことです。

.NET Frameworkに対応したプログラミング言語にて記述されるデータ型などの実行コードや、プログラムを機械語に翻訳するための実行環境などについて、Microsoftが策定しました。

現在では、ISOやIECなどの国際規格として標準化されています。

.NET Frameworkでできること


.NET Frameworkとは、Windowsと相性の良い開発環境で、システム開発にも頻繁に使用されています。

例えば、勤怠管理システムや在庫管理システムなど、業務の効率化や自動化を目的としたシステム開発で使われます。

C#やPyrhon、Rubyなど、対応しているプログラミング言語も多く、異なるプログラミング言語で書かれたプログラムとの連携が取りやすいのも特徴です。

.NET Frameworkに関わるCLI(共通言語基盤)の構成要素5つ


.NET Frameworkを使いこなすためには、CLI(共通言語基盤)の構成要素とはどのようなものか理解しておくことが大切です。

ここでは、.NET Frameworkに関わるCLIの構成要素を5つ紹介していきます。

.NET Frameworkに関わるCLIの構成要素には、CLS(共通言語仕様)、CIL(共通中間言語)、CTS(共通言語システム)などがあります。

1:CLS(共通言語仕様)

.NET Frameworkに関わるCLI(共通言語基盤)の構成要素の1つめは、CLS(共通言語仕様)です。

CLSとは、Common Language Specificationの略で、どのプログラミング言語にも共通している基本的な機能をまとめた共通言語基盤のことです。

CLSに準拠してプログラムを作成すれば、他のプログラミング言語を使用したプログラムとの連携がスムーズになります。

2:CIL(共通中間言語)

.NET Frameworkに関わるCLI(共通言語基盤)の構成要素の2つめは、CIL(共通中間言語)です。

CLSとは、作成したプログラムを.NET Frameworkで実行できるようにするために、コンパイル時に出力される共通中間言語です。

各プログラミング言語からCILに変換し、さらに機械語に翻訳することで、プログラムを実行しています。

3:CTS(共通言語システム)

.NET Frameworkに関わるCLI(共通言語基盤)の構成要素の3つめは、CTS(共通言語システム)です。

CTSとは、Common Type Systemの略で、プログラムに使用するデータ型の使用や管理などに関する規格です。

異なるプログラミング言語を使用して作成された複数プログラムを連携させる場合、CTSに準拠したデータ型になるように意識しなければなりません。

4:VES(仮想実行システム)

.NET Frameworkに関わるCLI(共通言語基盤)の構成要素の4つめは、VES(仮想実行システム)です。

VESとは、CILでコンパイルされたプログラムを読み込んで、ネイティブコードに変換し、実行するための仮想実行システムです。

ネイティブコードとは、コンピューターが理解できるように機械語に翻訳して記述されたプログラムのことです。

5:JIT(ジャストインタイムコンパイラ)

.NET Frameworkに関わるCLI(共通言語基盤)の構成要素の5つめは、JIT(ジャストインタイムコンパイラ)です。

JITとは、さまざまなプログラミング言語で記述されたプログラムを、CILや機械語に変換するコンパイラのことです。

プログラムをコンパイルすれば、プログラミング言語に依存せずにプログラムを実行できるだけでなく、実行速度を高速化できるなどのメリットがあります。

.NET Frameworkの構成要素3つ


.NET Frameworkを使いこなすためには、.NET Frameworkの構成要素とはどのようなものかについて理解しておくことが大切です。

ここでは、.NET Frameworkの構成要素を3つ紹介していきます。

.NET Frameworkの構成要素には、CLR(共通言語ランタイム)、BCL(基本クラスライブラリ)、各種ライブラリ・フレームワークがあります。

1:CLR(共通言語ランタイム)

.NET Frameworkの構成要素の1つめは、CLR(共通言語ランタイム)です。

CLR(共通言語ランタイム)とは、.NETのアプリケーションを実行するためのエンジンのようなもので、さまざまなプログラミング言語で記述されているプログラムの実行を可能にしています。

プログラムのコンパイルから実行までをCLRで管理していることから、.NETプログラムはマネージド・コードと呼ばれています。

2:BCL(基本クラスライブラリ)

.NET Frameworkの構成要素の2つめは、BCL(基本クラスライブラリ)です。

BLCとは、プログラムを作成するために必要な、基本的なクラスを提供しているライブラリのことです。

文字列を扱うStringクラスや、ファイルを扱うFileクラスなど、汎用性の高いプログラムを使い回せるので、開発効率を高めてくれることでしょう。

3:各種ライブラリ・フレームワーク

.NET Frameworkの構成要素の3つめは、各種ライブラリ・フレームワークです。

フレームワークとは、アプリケーションの土台として機能するソフトウェアのことで、フレームワークによってアプリケーション開発の工程を削減できます。

プログラムのパーツであるライブラリとフレームワークを使用することで、アプリケーション開発の効率化を見込めることでしょう。

.NET Framework以外の「.NET」とつくもの3つ


.NETといえば、.NET Frameworkを指し示すのが一般的ですが、.NET Framework以外にも「.NET」とつくものがあります。

ここでは、.NET Framework以外の「.NET」とつくものを3つ紹介していきます。

.NET Framework以外の「.NET」とつくものには、VB.NET、ASP.NET、C#.NETがあります。

1:VB.NET

.NET Framework以外の「.NET」とつくものの1つめは、VB.NETです。

VBとは、Visual Basicと呼ばれるプログラミング言語のことで、シンプルな文法で簡単にプログラムを作成できるのが特徴的です。

VBで作成したプログラムは、.NET Frameworkの環境下で実行できるので、VBはVB.NETとも呼ばれています。

2:ASP.NET

.NET Framework以外の「.NET」とつくものの2つめは、ASP.NETです。

ASP.NETとは、主にWebアプリケーションやWebサービスの開発で使用されるフレームワークのことです。

ASP.NETを使用することで、MVCに基づいたアプリケーション開発など、Web技術に精通していなくても、高度なWebアプリケーションを開発できるようになることでしょう。

3:C#.NET

.NET Framework以外の「.NET」とつくものの3つめは、C#.NETです。

C#.NETとは、元々C#を用いたコンパイラのことを指し示していたのですが、現在ではC#と同じような意味合いで使われています。

C#とは、Microsoftが開発したオブジェクト指向型のプログラミング言語で、プログラムを再利用できるのが特徴です。

SE
Windows系のシステム開発で用いられることが多いのですね。

PM
もともとマイクロソフトからリリースされた開発ツールです。

.NET Frameworkとは何かしっかり理解しておこう


ここまで、.NET Frameworkとはどのようなものかについて紹介してきました。

.NET Frameworkは、アプリケーションやWebサービスの開発に必要な開発環境です。

Windows向けのアプリケーション開発の際には、.NET Frameworkとは何かしっかり理解して、実際に使用してみてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags