×

「.NET」とは何か?基礎知識から具体的な構成まで網羅的に解説

 2020年10月09日

.NETは、一般的に.NET Frameworkと呼ばれるアプリケーションを指す言葉として使われますが、使用者によっては別の意味で使われることも少なくありません。
そんな誤解を減らすためにも、今回は.NETの歴史と具体的な特徴について説明していきます。

 

目次

①.NETとは

②.NETの歴史

③.NETの構成

④.NETのできること

⑤まとめ

 

.NETとは


Tuyển dụng việc làm .NET Developer lương cao | Recruitery

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

 

.NETの歴史


Step up your .NET business skills. | Polarising

.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 フレームワーク』を徹底解説!!その特徴からできることまで、分かりやすくご紹介します。 | Geekly Media

 

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

ご質問がある場合、またはハチネットに協力する場合
こちらに情報を残してください。折り返しご連絡いたします。

 Message is sending ...

関連記事

 2026年04月07日

Taskerで日常タスクを完全自動化 ― 手動操作ゼロでスマートな生活を実現する方法

毎日スマートフォンを使う中で、「同じ操作を何度も繰り返している」と感じたことはありませんか。Wi-Fi のオンオフ、通知の確認、アプリの起動など、一つひとつは小さな作業でも、積み重なると大きな時間ロスになります。こうした“面倒くさい日常タスク”を自動化できるのがTaskerです。本記事では、初心者でも実践できる Taskerの基本から応用までを解説し、日常をよりスマートにする方法を紹介します。

 2026年04月02日

Java Backend × Frontend 開発者が陥る「死のセキュリティ落とし穴」とその回避策

現代のWeb開発では、ReactやNext.jsといったフロントエンドとSpring BootなどのJavaバックエンドを分離した構成が一般的となっていますが、この構造は単なる技術的な分割ではなく、「信頼境界(Trust Boundary)」の再定義を要求します。特に重要なのは、フロントエンドは常に非信頼領域であるという前提であり、この前提を誤ると認証、通信、データ処理のすべてにおいて致命的な脆弱性が生まれます。本稿では、この前提を起点として、各レイヤーに潜む代表的なセキュリティリスクをアーキテクチャ視点で整理し、それぞれがどのように連鎖し、どのように防ぐべきかを体系的に解説します。

 2026年04月01日

Javaで実現するMicro-Frontend設計:フロントとバックエンドの境界を再定義する実践ガイド

Micro-Frontendは、従来のモノリシックなフロントエンドの限界を突破するための設計思想であり、フロントエンドをビジネスドメイン単位で分割し、独立したチームがそれぞれ開発・デプロイできるようにするアプローチです。これにより、開発スピードと組織スケーラビリティは飛躍的に向上しますが、その一方でシステム全体の統制や整合性を維持する難易度は格段に上がります。この複雑な構成の中で、Javaは単なるバックエンドではなく、分散したフロントエンドを束ねる「アーキテクチャの中核」として機能します。本記事では、Micro-Frontend時代におけるJavaの役割と設計戦略を、実務レベルで具体的に解説します。

 2026年03月30日

Java SSR が「SEO・表示速度・CVR」を同時に伸ばす──2026年に勝つための決定的アーキテクチャ戦略

2026年のWebは「速さ=収益」というシンプルな構造に収束しています。特にモバイル環境では、わずか1秒の遅延がユーザー離脱やコンバージョン率(CVR)の低下に直結し、従来のSPA(Single Page Application)が抱えてきた初期表示の遅延やSEO評価の不安定さが大きなボトルネックとなっています。こうした課題に対し、JavaによるSSR(Server-Side Rendering)はサーバー側で完成されたHTMLを即時返却することで、表示速度・SEO・ユーザー体験を同時に最適化できる点が最大の強みです。もはやSSRは単なる技術選択ではなく、「検索流入を増やし、離脱を防ぎ、売上を最大化するための戦略的インフラ」として、企業の競争力を左右する重要な意思決定となりつつあります。

 2026年03月26日

エンタープライズ開発の決定版:JavaとReactの最強アーキテクチャ

現代のエンタープライズWeb開発においては、「堅牢性」と「優れたユーザー体験(UX)」の両立が不可欠な前提条件となっています。従来のようにJavaのみで構築される一体型のWebアプリケーションは徐々に主流から外れ、現在ではフロントエンドとバックエンドを明確に分離したアーキテクチャが標準となりました。その中で、Java(Spring Boot)とReactの組み合わせは、信頼性・拡張性・開発効率のバランスに優れた構成として広く採用されています。特に大規模システムにおいては、安定したバックエンド処理と高品質なUIの両立が求められるため、このスタックは極めて合理的な選択肢です。本記事では、その技術的背景から実践的な構成までを一貫した流れで整理し、なぜこの組み合わせが「黄金スタック」と呼ばれるのかを明らかにしていきます。

 2026年03月23日

モダンWebアーキテクチャを正しく理解する:Javaはフロントエンドとどう関わるのか

モダンWeb開発において、「Javaはフロントエンドに使えるのか」という疑問は今でも一定数存在します。特にJava中心で開発してきた現場では、フロントエンドも同一言語で統一したいという要望が出やすいのが実情です。しかし現在のWebアーキテクチャは、単一技術で完結する設計ではなく、役割分担を前提とした構造に変化しています。本記事ではその前提を整理したうえで、Javaがフロントエンドとどのように関係するのかを技術的に明確にします。

 2026年03月17日

iOSアプリが後から崩壊する原因とは?言語選定ミスと保守破綻の構造を解説

iOS開発における言語選定は、リリース時点では問題として表面化しにくいが、保守フェーズに入ると継続的な負荷として顕在化する。特にOSアップデートや機能追加の局面では、設計と技術選択のズレがそのまま開発効率の低下や品質問題として現れる。2026年現在でも同様の失敗は繰り返されており、その多くはAppleの設計思想と一致しない言語選定に起因している。