このページの本文へ

前へ 1 2 次へ

Windows Info 第270回

あらためて「.NET」について整理する

2021年04月11日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

そのときの文脈から何を指すか判断する必要がある
「.NET」という言葉

 前回Project Reunionの話をしたので(「UWPとデスクトップアプリの統合を試みる「Project Reunion」のプレビュー版が登場する」)、ここであらためて「.NET」についてまとめておきたい。

.NET Coreのマスコット「dotnet bot」。ちょっと「かわいさ」が足りない感じだが、githubの登録ユーザーでコードをコミットしている(https://github.com/dotnet-bot より引用)

 Windows関係で「.NETなんとか」という言葉を聞いたことがあるだろう。「.NET」とは、Microsoftが開発・提唱した「アプリケーションの実行環境」である。実行環境とは少し抽象的だが、API(Application Programming Interface)やライブラリなどと呼ばれたり、「開発環境」と言うこともある。

 「アプリケーションの実行環境」とは、アプリケーションの実行プログラムを作る方法を提供し、作成したアプリケーションを実際に実行する仕組みのことだ。具体的には、OSが提供する機能をアプリケーションが利用できる形式にする「ライブラリ」的な機能と、アプリケーションプログラムを作るための手段、そして目的のプラットフォームで作成したアプリケーションプログラムを実行する機構をまとめたものが「実行環境」である。

 この.NETには、プログラムを仮想「機械語コード」に変換して実行する仕組みと、.NET用プログラムに対して、さまざまな機能を提供する「ライブラリ」が提供される。ライブラリを「API」と表現することもある。

 この.NETには、具体的なソフトウェアとして「.NET Famework」と「.NET Core」。そして、これらの互換ソフトウェア(具体的にはMONOなど)が含まれる。つまり、「.NET」とは、今日では、総称であるとされている。しかし、「.NET」という用語は、これまで“未定義”のまま使われており、最初に.NET Frameworkが導入されたときには、「.NET Framework」の略称として使われていたこともあった。

 そんな経緯もあり、「.NET」という単語を含むドキュメントやインターネット上の記事に関しては、文脈や書かれた時期から、何を意味しているのかを判断する必要がある。まあ、かなりラフに考えれば、全部「.NET」なんだから、どうでもいいのかもしれないが、実際には、.NET Frameworkと.NET Core、そして過去には、Windows 8モダン環境の.NET機能などもあった。さらに最近では、「.NET Core 5」(5はバージョン番号)の名称が「.NET 5」になり、また1つ「.NET」が増えることになった。

 この記事では、単なる「.NET」は、前述のように.NETの「総称」とし、「.NET Core 5」などのシステムに関しては、バージョン番号を略さずに「.NET 5」とする。つまり、後ろに番号がついたら「.NET Core」のことを意味する。なお、以下の表にこれまでの.NETのバージョン履歴を示す。

.NET Frameworkとはそもそもなんなのか?

 .NET Frameworkとは、Microsoftによって最初に作られた.NETだ。増強を重ね続けて、整理がつかなくなったWin32APIを整理して仕切り直しするため、また当時問題になりはじめていた「悪意のあるプログラム」や「ウイルス」に対してセキュリティを高めるために開発された。

 またAPIは、「Framework」として整理しなおし、目的別にクラス分けする構成を採用した。そしてセキュリティに関しては、プログラムを仮想「機械語コード」として、これを実行するインタープリターを開発。実行前に怪しい挙動を発見できるようにした。

 この.NET Frameworkが構想されたのは1990年代の後半で、Windows 2000(1999年リリース)の頃にはプレビューが開始された。当初の予定では、この.NET FrameworkをWindowsの公式な「API」とする予定だった。実際にWindows Vistaでは、「Win32」APIに対して「WinFX」という名称を付ける予定だったが、Vistaのプロジェクトが仕切り直しになったのに合わせて、計画が後退。結局「.NET Framework 3.0」というごく普通の名称になった。以後、Windowsには、.NET Frameworkが搭載され、現在のWindows 10には、.NET Framework 4.8が搭載されている。

 しかし、Microsoftの発表によれば、今後は、.NET Frameworkのメジャーアップデートはなされず、.NET Framework 4.8が最後になるという。ただし、セキュリティなどのアップデートは続けられ、当面Windowsには.NET Framework 4.8が搭載されていくという。

 .NETという総称からみると「.NET Framework」とは、Windows専用の「.NET」だといえる。Windowsに付属しているため、一番利用されていて、多くのプログラムがこの.NET Frameworkで開発されている。しかしそのために、.NET Frameworkは大きな改良が困難になってきた。わずかな互換性の崩れが、多数のアプリケーションに影響を与えてしまうため、その進歩速度は低下せざるを得ない。また、どれほど便利になろうとも、どれだけ高速化されるとしても、互換性に問題が生ずるようなものは取り込むことができない。

 .NET Framework 1.0のリリースは2002年1月。つまり、21世紀になった頃。それから20年。そろそろ限界というわけだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン