「.NET フレームワーク」について徹底解説します!その特徴からできることまで、分かりやすくご紹介します。
『.NET フレームワーク』の本来の意味合い(過去の意味合い)と現在の意味合いまでわかりやすく解説します。難しいIT用語も意味が分かるように変換し、ITに慣れてない人でも1から.NET フレームワークの知識など理解できるようご紹介いたします!
目次
.NET フレームワークとは?
過去と現在で意味合いが異なる
『.NET フレームワーク』とは、「Microsoft .NET Framework(マイクロソフト ドットネット フレームワーク)」と言うアプリケーションです。
Microsoft社が提供している開発&実行ができるプラットフォームです。Windowsのプログラム実行環境などとして推進します。
当時は「Microsoft.NET」と呼ばれていましたが現在では意味が少し異なります。
そのため、「.NET」をテーマにして話をしても噛み合わないといった状態が発生するため、まずは過去と現在の.NETについて説明します。
そもそも意味が変わった理由として、「Microsoft.NET」 の過去と現在では異なったビジョンになっていることが挙げられます。
XML Webサービスに力を入れていたMicrosoftは、経済の流れに乗るために代わりに複数のアーキテクチャスタイル(REST)に注力するようになりました。
そこから、過去の呼び名「Microsoft .NET(マイクロソフト ドットネット)」から現在の呼び名「.NET Framework(ドットネット フレームワーク)」に呼び名が変わりました。
結果的に「Microsoft .NET」と「.NET Framework」では意味が異なるのです。「.NET」は「.NET Framework」の略語で現在の意味合いも「.NET Framework」を示しています。
開発と実行環境をアプリケーション経由でサービスを提供するプラットフォームを開発したのがMicrosoftです。他にも主にXML、ウェブサービス、ウェブアプリケーションなどインターネットのウェブをベースにした環境にも対応しており様々な開発と実行が可能な環境を提供。.NETフレームワークで対応している言語は数多くあり23カ国に対応しています。
開発者側とユーザー側
.NET フレームワークは開発者側とユーザー側で知識や経験、理解度の度合いが大きく関わってきます。つまり、立場が変化するだけで見方、操作性や使用用途も変わってくるのが.NET フレームワークです。
簡単に下記で開発者とユーザー側で説明します。
開発者側
.NET フレームワークで使用できる開発言語を活用し、アプリケーションの開発ができます。
開発で使用した言語以外にも後から対話が可能なため、さまざまなコンピュータ機器やソフトウェアと連携して開発が可能です。
ユーザー側
.NET フレームワークでの言語開発を行わなくても利用することが可能なため、多くのユーザーは知識や経験、スキルがなくても利用が可能です。
上記のような開発側とユーザー側で.NET フレームワークの認識や知識の有無などが大きく変動します。本記事では開発者側の内容を深堀りして解説して行きます。
システムの論理的構造
共通言語基盤
- CTS (共通型システム)
- CLS (共通言語仕様)
- CIL (共通中間言語)
- JIT (ジャストインタイムコンパイラ)
- VES (仮想実行システム)
.NET フレームワークにおいて主に使用される行動の流れについて解説します。
この行動の中で最も本質をしめているのがCLI(共通中間基盤)です。この意味を簡単に説明すると開発環境で実行環境時の単体言語に依存しないと言う意味です。
Microsoftで主に用いられているのがCLR(共通語ランタイム)と呼ばれている5つの項目です。
CTS (共通型システム)
定義は様々ありますが、Microsoftが開発した人とネットフレームワークに対応したプログラミング言語でデータを統一するためのシステム。
CLS (共通言語仕様)
共通言語ランタイムでサポートされている言語機能のサブセットに該当します。CLSはCTSのサブセット。 結果、CTSにもCLSは適用されます。ただし厳しい制限が設けられていない場合に限ります。
CIL (共通中間言語)
人間が解読可能なプログラミング言語に変換。様々な言語をCIL (共通中間言語)で特定のOSや機種に依存しないプログラミング「マネージドコード(CLRに対応できる形式に変換)」にします
JIT (ジャストインタイムコンパイラ)
結構環境のOSや機種に依存しない中間コードをプログラム実行する時点の工程で実行可能な言語にソースコードからオブジェクトコードに変換することができるのがJIT (ジャストインタイムコンパイラ)。
VES (仮想実行システム)
メタデータを活用して動的要素を持つプログラミング言語を生成することができるシステム。CIL (共通中間言語)で読み込みと実行を実現することが可能なシステム。
構成「CLR」「BCL」「FW」
大きく3つで構成
- CLR (共通言語ランタイム)
- BCL(基本クラスライブラリ)
- FW(フレームワーク)
プログラムを実行するときに用いられるエンジン(動作環境)がCLR (共通言語ランタイム)それと、BCL(基本クラスライブラリ)と、各種ライブラリのFW(フレームワーク)でASP.NETなどが該当しこれらで構成。
CLR (共通言語ランタイム)
いったん、様々な言語をCIL (共通中間言語)で特定のOSや機種に依存しないプログラミング「マネージドコード(CLRに対応できる形式に変換)」にします。変換された言語を実行するのがCLR(共通言語ランタイム)です。CLRは、仮想マシンと言われ中核システムです。
BCL(基本クラスライブラリ)
.netフレームワークで利用するときに使用可能なのがBCLです。PCLは多くの共通機能をカプセル化するための基本ライブラリです。
FW(フレームワーク)
単独での意味合いは「構造」の意味合いに当たります。他にも骨組み、枠組み等の解釈ができます。今回はIT業界の意味合いで使われるためWebアプリケーションフレームワークである「ASP.NET」などのフレームワークを示しています。ウェブサービスでの開発や運用を行うために用いられるフレームワークです。
.NET フレームワークの特徴と「できること」を解説
.NET フレームワークの特徴
JavaやPHPでの開発はできませんがそれ以外の多くのMicrosoft社が開発実行の言語として提供している複数言語での開発ができるのが最大の特徴でもあり魅力です。
特徴の1つでもあるCIL(共通中間言語)で一度結合されます。それにより異なる言語での開発実行ができるのが魅了。
.NET フレームワークで「できること」
Windowsのアプリケーション&WebベースでのサービスやWebアプリケーションなどが可能。HTMLと同じマークアップ言語で同じ様に用いられる「XML」を使うことができます。
様々な異なる言語でシステム開発&実行ができ、インターネットを活用したアプリやウェブサービスを作ることができます。
多くの高度なプログラミング言語でシステム開発が可能。ただし、基本的にマイクロソフトのOSにしか対応していない。
今後の.NET フレームワーク
.NET フレームワークの未来&将来
Microsoftは過去のビジョン変更などの柔軟な対応により、現在のIT業界は生き残ることができたと推測できます。
そのため、今後の「.NETフレームワーク」は優れないものをどんどん切り捨て優れたものを取り入れることにより柔軟に対応しIT業界成長していくと予想されます。
.NET フレームワークを活用
これから活用する人にアドバイス
様々な言語で開発実行ができる特徴を持つ.NET フレームワークはいわば様々な言語を勉強でき自然と幅広い言語に対応できるスキルが身に付くことがとても魅力的です。
活用する人はその様々な言語のスキルを重ねて使うことができるので幅広い知識が得られます。
使い方によっては開発スピードを高めていくことができるため、開発スピードを上げたい人は試してはどうでしょうか。
まとめ
- 様々なプログラミング言語が利用できる
- 普段より幅広いプログラミング言語に触れることでスキルの経験値があがるメリットがある
- Java・PHPといった言語には対応していない。主にマイクロソフトのOSで動くものに限定される
- 簡単にいえば.NET Frameworkとはプログラムを簡単に組むための部品的な存在
IT業界はどんどん進化し続けています。それにより様々な言語が生まれ様々な言語で作られるビジネスが溢れかえっています。
一方、言語を理解して適切に使える人材は微量ながらも増えている傾向にあります。ぜひこの機会に興味がある方は参入してみてはどうでしょうか。
弊社ギークリーではIT業界を中心に、ご紹介できる求人が多数あります。お気軽にご相談ください。
\ IT転職のプロが無料でサポート! /
あわせて読みたい関連記事
この記事を読んでいる人におすすめの記事