こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

「Microsoft.NET」とは?

「Microsoft.NET」「.NET Framework」「ASP.NET」「VisualStudio.NET」「VisualBasic.NET」とは何なのかわかり易い説明をお願いできないでしょうか。
私は、AppleScript・VBScriptのプログラム経験はあるのですが、「.NET」が何なのか良くわかりません。

ウィキには以下のような説明が記述されていますが、
「.NET Framework」は、マイクロソフトが開発したアプリケーション開発、実行環境。
「ASP.NET」は、Microsoftが開発したウェブアプリケーションフレームワークで、動的なウェブサイトやウェブアプリケーションやXMLウェブサービスの開発を行うことができる。ASP.NETはActive Server Pagesを.NET向けにしたものである。

「.NET Framework」はアプリケーション開発、実行環境???
「ASP.NET」はウェブアプリケーションフレームワーク???
これでは何のことかさっぱりわかりません。
概念的な説明ではなく素人にもわかりやすく、それが「現物」として思い描けるような説明をお願い致します。

投稿日時 - 2008-02-28 14:28:15

QNo.3817450

暇なときに回答ください

質問者が選んだベストアンサー

記載の内容を順に説明しますね。
「Microsoft.NET」【概念】
 Microsoftの提唱するシステム開発技術の総称です。
 javaのようにプラットフォームを選びません。
 これまでWindowsアプリの開発ではWindows上でしか動作しませんでしたが、
 .NET Frameworkがインストールされていれば、
 (理論上は)どんなOS上でもアプリを動作可能にしました、という技術のことです。

「.NET Framework」【ライブラリ】
 これはMicrosoftが開発したCLR(Common Language Runtime)技術で
 理論上、これがインストールされているマシン上で、
 .NETで開発した全てのアプリが動作するようにと提供されているものです。
 この中にVisual Basic.NETやC#.NETなどで使用するライブラリが用意されており、
 開発者はCの文法に似たなC#.NETかVBの文法に似たVB.NETか、
 自分の得意分野で選択した上での開発が可能になりました。
 これに似たものに、Visual Basic 6.0 ランタイムとかJava仮想マシンがあります。

「VisualStudio.NET」【開発ツール】
 .NETでの開発を行うのを簡単にするためのツールです。
 IDE(統合開発環境)といいます。
 .NET開発をするのにどうしても必要か、というと
 実はそんなことはなく、.NET Frameworkをインストールすれば
 コンパイラもついてくるので、コンソールからソースを実行モジュールへと生成することも可能です。
 これもjavaであればeclipseといった似た製品が存在します。

「ASP.NET」【プログラム言語】
 ,NETの技術を使ってブラウザで動作可能なWebアプリケーションを作成するための技術です。
 C#.NETやVB.NETなどと組み合わせて、実際に表示される部分と、
 コードビハインドと呼ばれる処理部分を分けて記載が可能な仕様となっております。
 jspなんかと同じようなものです。

「VisualBasic.NET」【プログラム言語】
 .NET用の開発言語で、Visual Basicの文法に酷似した文法と
 .NET Frameworkで用意されたライブラリを組み合わせて開発が出来ます。

※若干、簡単にしたために語弊がありかもしれません。

と、長々と記載いたしましたが、実際にご自身で使ってみることをオススメ致します。

下記のサイトから無償版の開発ツールがダウンロードできますので。

http://www.microsoft.com/japan/msdn/vstudio/express/

投稿日時 - 2008-02-29 17:46:30

お礼

回答ありがとうございます
【ライブラリ】【開発ツール】【プログラム言語】という説明がわかりやすいですね。
VBScriptの延長線上でインターフェイスが欲しいときに「Visual Studio 2005 Express Edition」は使ったことあるのですが、
「ASP.NET」と「VB.NET」の違いなどもよく理解できました。ありがとうございます

投稿日時 - 2008-03-02 00:54:30

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

通常のプログラムを実行すると、OSがデータの固まり、バイナリを解釈してメモリを操作します。
一定の状態から一定の状態にメモリが変化し、前後が人間が意味のあるものであれば、
それは「プログラム」です。

では、OSがバイナリを解釈するまえに、ひとつだけ中間に何かをかましてみましょう。
[中間]のものは通常通りOSが解釈するバイナリです。
ここで、[中間]が解釈するバイナリを用意します。(このバイナリは直接OSでは解釈不可;意味のないメモリ操作)。

この[中間]が.NET Framework です。正確にはこの場合 .NET ランタイムと呼ばれます。
[中間]が解釈するバイナリは、「.NETプログラム」です。

さて、ASPプログラムコードとIISを同じように考えます。
.NET プログラムは、.NET ランタイムなら解釈できるので、IISは.NETランタイムさえ装備していれば、
.NETプログラムを実行できます。IISは.NETランタイムに処理を投げ、帰ったものだけを処理すればよいのです。
プログラム作成者は、一定の規則はあれど、.NETのみを意識してプログラムを作成すれば、
IIS用の特殊なプログラム仕様は知らなくてよくなります。これがASP.NETです。

データベースサーバも然りです。
通常、SQL文を解釈するのがデータベースエンジンですが、これに.NETランタイムをいれます。
そうすると、SQL文だけじゃなく、.NETプログラムをSQLエンジンが実行できます。
つまり、ストアードプロシージャを.NET プログラム(一般の.NETプログラム言語)で書けることになります。
こうなると、SQL.NET ということになります。 ← このような言葉はありませんが。

あとは、ファイアウォールのフィルタとか、携帯用のアプリケーションとか、
時計などへの組み込みソフトとか、そういったものに.NETランタイムを入れてあげれば
作成するときには全く同じ仕様で書くことができます。

これが.NETという思想です。
なお、中核にあるのは、Common Language Interface という仕様です。調べてみてください。

投稿日時 - 2008-02-28 16:16:44

お礼

回答ありがとうございます
VisualBasicは使ったことあるので、「VisualStudio.NET」「VisualBasic.NET」の違いはなんとなくわかってました。
よくわからないのは「.NET Framework」「ASP.NET」です。
「ASP.NET」の説明をされてますが残念ながらこの説明では理解できませんでした。
だいいち「IIS」というのは初めて聞きました(^_^;

投稿日時 - 2008-03-02 00:47:30

ANo.2

>素人にもわかりやすく、それが「現物」として思い描けるような説明をお願い致します。

これは無理です。作る人、使ってもらう人(環境を整える人=クライアントPCでもwebサーバでも)でも概念的にしか捉えていません。

#というか.NET自体がある意味「概念」だと思います。

まして使う人には何の関係もないことですから。掲示板がCGI(Perl)だろうがphpだろうがJSPだろうがASPだろうが別に動けばいいわけで。VB6のランタイムと同じように.NET Frameworkが必要なソフトだと勝手にFrameworkというのも入るんだ・・くらいに思っていただければいいでしょう。

まぁ、No.1の方が書かれた「マイクロソフトが作った"世界"のこと」というのが言い得て妙です。既存のVBやVS、ASPをそっちの世界に持っていったというだけですねぇ。

投稿日時 - 2008-02-28 15:33:17

お礼

回答ありがとうございます
私の質問が悪かったのですが「Microsoft.NET」が「概念」や「世界」というのはわかっていました。
マイクロソフトの世界はいつもわかりにくいですよ~

投稿日時 - 2008-03-02 00:42:41

ANo.1

わかんないですよねぇ。

「.NET」とは「マイクロソフトが作った"世界"のこと」と、私は理解
してますけど。

更にぶっちゃけ言ってしまえば「VisualStudioで開発しました」って
のが、「なんちゃら.NET」(正確に言えば、初代のVSは.NETじゃない
らしいんですが)と思って良いんじゃないかと。

説明する場合、概念が先に来るので.NETがどうたらって話になりますが
実務的には「そういうものの総称」と逆に考えた方が・・・。

投稿日時 - 2008-02-28 15:09:20

お礼

回答ありがとうございます
>わかんないですよねぇ。
わかんないですよぉ(^^)

投稿日時 - 2008-03-02 00:39:01