「.NET」とは何か?基礎知識から具体的な構成まで網羅的に解説
2020年10月09日
.NETは、一般的に.NET Frameworkと呼ばれるアプリケーションを指す言葉として使われますが、使用者によっては別の意味で使われることも少なくありません。
そんな誤解を減らすためにも、今回は.NETの歴史と具体的な特徴について説明していきます。
目次
.NETとは

.NET(ドットネット)とは、主にMicrosoft .NET Framework(マイクロソフト ドットネット フレームワーク)というアプリケーション、または開発環境を指す単語です。WindowsのシステムやWebサービスなどの開発に利用され、Windows7以降のOSでは、デフォルトで搭載されるようになっています。エンジニアの方以外は積極的に触れることの少ないアプリケーションですが.NET Frameworkを消去(無効化)してしまうと、動作しなくなってしまうプログラムも多いため、アンインストールをしないように注意しましょう。
.NETの歴史

.NET Frameworkは、2000年6月に開発元であるマイクロソフトが打ち出した「Microsoft .NET(マイクロソフト・ドットネット)」という構想が元となって作られています。このビジョンは、大規模なネットワークサービスを構築するため、腕時計やカーナビといった家電からパソコンや携帯電話に至るまで、あらゆる電子機器をインターネットに接続させるというマイクロソフトの経営戦略です。
上記の構想を実現させるため、マイクロソフトから「Visual Studio .NET」と呼ばれる開発ツールがリリースされました。現在、Windows系アプリケーションの開発環境として使われ続けている.NET Frameworkは、このVisual Studio .NETがベースとなって作られています。
しかし、マイクロソフトが発表したMicrosoft .NETは、構想の主軸となるはずだった通信仕様(XML Webサービス)が世間に普及せず、実現することはありませんでした。結果的に、開発ツールとしてリリースされたVisual Studio .NETだけが形として残り、「.NET」という言葉も.NET Frameworkを指す言葉として使われるようになったのです。
.NETの構成
NET Frameworkは、次の図のように、
・「共通言語ランタイム(CLR:Common Language Runtime)」と呼ばれるプログラム実行エンジン
・基本クラス・ライブラリ(BCL:Base Class Library)
・各種ライブラリ/フレームワーク
から構成される(ちなみに2012年8月時点で、.NET Frameworkの最新版はバージョン「4.5」である。これまで主に「1.0」「2.0」「3.0」「3.5」「3.5 SP1」「4」がリリースされています)。

「.NET Framework 4」の構成図
※主要な機能のみで、一部は省略している。「アプリ」は「アプリケーション」の略。
●CLR(共通言語ランタイム)
CLR(共通言語ランタイム)とは.NET Frameworkに搭載されている動作環境のことです。プログラムコードを.NET Framework上に入力すると、入力された言語がCIL(共通中間言語)と呼ばれる共通のコードに変換されます。変換されたコードはCLRで実行できるため.NET FrameworkではC#やPythonなど様々なプログラミング言語を使ってアプリケーションを作ることが可能なのです。このほかにも、CLRは.NET Frameworkでスレッド管理、例外処理、セキュリティ管理などを担っています。
コードを変換するという意味では、Java仮想マシン(JVM)の仕様にも類似していますが.NET Frameworkは様々なプログラム言語を使用できるという点に違いがあります。ただし.NET Frameworkもすべての言語に対応しているわけではなく、JavaやPHPといった人気の高いプログラミング言語は使うことができません。基本的に.NET FrameworkはWindowsのOSでしか動作せず、使用できるプログラム言語もC#やVisual Basicのように、マイクロソフト社製のものが多くなっています。
●BCL(基本クラス・ライブラリ)
プログラムを記述するうえで必要な、基本的なクラス群を提供ます。例えば、文字列を扱うStringクラス(System名前空間)や、Webアクセスを扱うWebClientクラス(System.Net名前空間)、ファイル入出力を扱うFileクラス(System.IO名前空間)などが提供されています。
●ADO.NETデータセット
データセットは、データベースのデータを扱える技術であります。.NETの初期から提供されているため、機能も豊富で安定しており、仕組みも優れているため、現在でも第一線で活用されています。
●ADO.NET Entity Framework
Entity Frameworkは、.NET Framework 3.5 SP1で追加された新しいデータ・アクセス技術で、「エンティティ」を定義することによって、オブジェクト指向の考えにのっとったデータベースの取り扱いが行える技術であります。最新の.NET Framework 4で機能が豊富になってきているので、注目度が増してきています。
●LINQ to SQL
LINQ to SQLとは、データベースへのデータのクエリが、C#やVB(Visual Basic)のソース・コードとして手軽に記述できる言語機能「LINQ(言語統合クエリ)」が活用できるデータ・アクセス技術であります。.NET Framework 3.5で追加されたので比較的新しい技術ですが、Entity Frameworkが登場し、その技術からは(LINQ to SQLとほぼ同等の機能を持つ)LINQ to Entitiesが提供されているため、比較的軽めのプログラム以外ではLINQ to SQLは使われなくなってきています。
●WCF Data Services
WCF Data Services(初期のころは「ADO.NET Data Services」とも呼ばれていた)は、前述のEntity Frameworkなどのデータ・アクセス技術と組み合わせて、データベースへのデータ・アクセスを提供するREST API(このプロトコルは、「OData」と呼ばれる)を自動作成するための技術であります。この技術は、.NET Framework 3.5 SP1で追加されました。
●WCF(SOAPやREST)
WCF(Windows Communication Foundation)は、.NET Framework 3.0で追加された通信技術で、SOAP形式やRESTスタイルの通信を実現できます。現時点で、XML Webサービスを作成したい場合は、この技術を利用します。
●ASP.NET Webサービス
ASP.NET Webサービスは、.NETが誕生したときから提供されている通信技術で、SOAP形式のXML Webサービスを作成できます。「メソッドを記述する感覚で手軽にXML Webサービスを作成できる」というメリットがあります。WCFが登場してからはWCFに代替されることが増えています。
●ASP.NET Webフォーム
ASP.NET Webフォームは、初期の.NETから提供されているWebアプリケーション構築フレームワークであります。主に従来のVB6開発者層をターゲットにしており、Windowsアプリケーションの開発に近い手法でWebアプリケーションを開発できるのが特徴です。主にイントラネット向けのWebアプリケーションでよく使われています。
●ASP.NET MVC
ASP.NET MVCは、.NET Framework 3.5 SP1で追加された新しいWebアプリケーション構築フレームワークで、Web開発の世界では標準となっているMVC(Model-View-Controller)パターンに基づいてWebアプリケーション開発が行えるのが特徴です。HTML5などのWeb標準対応やスマートフォン向けのWebサイト作成などでも活用しやすいため、特に最近、注目度が高まってきています。
●Windowsフォーム
Windowsフォームは、.NET Framework 1.0から提供されているWindowsアプリケーション構築用のフレームワークで、「Windowsフォーム上へのドラッグ&ドロップでコントロールを貼り付け、そのコントロールがエンド・ユーザーにより何らかの操作をされたときの処理コードを記述する」という開発スタイルが特徴であります。現状のWindowsアプリケーションに必要な機能はそろっているので、定評があり、いまも広く使用されています。
●WPF
WPFは、.NET Framework 3.0で追加されたWindowsアプリケーション構築フレームワークで、GPUを活用した高度なレンダリングと、「XAML」(「ざむる」と読む)というXML形式のデザイン言語が特徴であります。UX(ユーザー・エクスペリエンス=エンド・ユーザーの使い勝手)の重要性が注目される中で、より高度なUI(ユーザー・インターフェイス)を構築できる技術として活用されています。
●複数の開発言語のサポート
上の構成図には載せなかったが、.NET Frameworkの重要なポイントとして、複数言語の対応が挙げられます。具体的には、C#/VB/C++/F#などの言語が扱えます。このほかにも、Ruby言語(IronRuby)やPython言語(IronPython)など、さまざまな言語が利用できます。
.NETのできること

NET Frameworkは、Windowsとの相性の良さから、Windows系のシステム開発で用いられることが多くなっています。特に、業務の効率化や自動化をするシステム開発においては.NET Frameworkが使用されるケースも少なくありません。勤怠管理システム、在庫管理システムといった、業務の根幹を担う開発作業においては.NET Framework、または.NET Frameworkに対応した言語を扱えるエンジニアが重宝されるでしょう。また、先に挙げた通り.NET Frameworkは「複数のプログラミング言語を使える」という特徴があるため、別の言語を使って設計された機器やソフトウェアと連携しやすいというメリットがあります。
ですが.NET Frameworkはバージョンごとに使用できる言語や搭載されている機能が異なるケースも多く、開発環境によっては新しい(もしくは古い)バージョンのインストールが必要となることもしばしばです。サポートされているWindowsのバージョンや.NET Frameworkの具体的なインストール方法については、マイクロソフトのホームページ上にある「.NET Framework インストールガイド」をご覧ください。
まとめ
以上、「.NETとは何か?」について現時点の筆者の考えを述べ、さらに.NET Frameworkを知るための必要最小限の事項をできるだけ短くまとめてみました。
「.NET」を自社サービスや課題解決のソリューションとして活用したいとご検討されている方はぜひ一度ご相談ください。
※以下通り弊社の連絡先
アカウントマネージャー: クアン(日本語・英語対応可)
電話番号: (+84)977035914
メール: quan@hachinet.jp
お電話でのご相談/お申し込み等、お気軽にご連絡くださいませ。
- オフショア開発
- エンジニア人材派遣
- ラボ開発
- ソフトウェアテスト
電話番号: (+84)2462 900 388
メール: contact@hachinet.com
お電話でのご相談/お申し込み等、お気軽にご連絡くださいませ。
無料見積もりはこちらから
Tags
ご質問がある場合、またはハチネットに協力する場合
こちらに情報を残してください。折り返しご連絡いたします。
関連記事
Visual Basicから .NET へ:Microsoft が業界を変えた歴史的転換点
1990年代から2000年代初頭にかけて、Microsoft Visual Basicは「誰でもアプリが作れる時代」を象徴する存在でした。特に Visual Basic 6 は、教育現場から企業システムまで幅広く使われ、開発を身近なものにした歴史的なツールです。しかしインターネットの普及、セキュリティ要件の高度化、オブジェクト指向の定着といった環境変化の中で、従来の COM ベース構造では限界が明確になっていきました。そこでMicrosoftは根本からプラットフォームを見直し、.NET Frameworkを中心にしたまったく新しいアーキテクチャへと舵を切ることを決断します。Visual Basicから .NET への移行は、単なるバージョンアップではなく、開発の思想・基盤・未来を全面刷新する歴史的転換点でした。
Microsoft Visual Basicはなぜ企業で生き残り続けるのか──今も稼働する10の業務アプリケーション
最新技術がどれほど進化しても、業務の根幹を支えるレガシーシステムは簡単には消えないということです。その象徴がMicrosoft Visual Basic(VB)です。登場から数十年が経っても、未だ多くの企業が日常業務をVBに委ねています。なぜこの古く見える技術が生き残り続けるのか。その背景には「使いやすさ」「コスト」「現場への最適化」という、現実的で合理的な理由が存在します。本記事では、VBが支え続けている10の業務アプリ領域を深掘りしながら、企業ITにおけるVBの現在地と未来を見つめていきます。
Microsoft Visual Basic でつくる日本式UIデザイン:業務フローの最適化から画面設計、運用まで徹底解説
AI とローコードの普及により技術刷新が求められる一方、日本企業では長年運用されてきた Visual Basic システムが依然として実務の中心にあります。現場フローや日本特有の業務文化に適応し、安定した運用と改善を続けられる点は、最新技術では代替しにくい強みです。本記事では、Visual Basic がなぜ現代でも価値を失わず、日本式UXに適した開発基盤として評価され続けているのかを、現場視点で解説します。
なぜ Microsoft Visual Basic は AI・ローコード時代でも価値を失わないのか:その理由を具体的に解説
AI やローコード開発が急速に広がる現在、既存システムの価値が改めて問われています。特に日本企業で長年利用されてきた Microsoft Visual Basic は、「古い技術」というイメージを持たれがちな一方で、実際には多くの業務システムを安定的に支え続けています。本記事では、Visual Basic がなぜ今の時代でも依然として重要なのか、その具体的な理由を整理し、企業がどのように向き合うべきかを考えていきます。
Microsoft Visual Basic:30年の歩みとともに――なぜ“初心者の国民的言語”と呼ばれたのか
Microsoft Visual Basicは、1991年に誕生してから30年以上にわたり、世界中のプログラミング学習者や業務システム開発の現場で愛されてきました。現在では多様な言語が存在し、開発環境も劇的に変化しましたが、Visual Basicが果たした役割は大きく、特に初心者に門戸を開いたプログラミング言語として歴史に名を残しています。本記事では、その歩みと、なぜVisual Basicが「国民的入門言語」とまで呼ばれたのかを、時代背景とともに丁寧にひも解きます。
