- ベストアンサー
.NET Frameworkとは?
- 近年、流行している.NET Frameworkとは一体何なのでしょうか?Win32APIやMFCとは異なり、.NET Frameworkの利点や特徴について解説します。
- .NET Frameworkは次期Windowsで重要視される技術であり、アプリケーション開発に革新をもたらします。コンポーネント技術とも関連しており、将来の実現可能性も高いです。
- .NET Frameworkに対応したアプリケーション開発では、従来の制約を超えて柔軟な開発が可能です。それにより、効率的な開発や高いパフォーマンスを実現することができます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
.Net Frameworkとは、コンポーネント技術をさらに推し進めたものと言える。 今まで君はMFCでCOMの開発を行ってきたのかな? COM、もっと細かく砕けばOLE2は、IUnknownインターフェースから派生した、「自分の機能を自分で提供できる」技術だった。COM技術者なら一度はActiveX DLL Hellに遭遇した事があるだろう。 今まで、MFCアプリにMFCランタイムとVCランタイムがあったように、VBアプリにVBランタイムがあったように、.Netアプリに必要とされるランタイム、それが.Net Frameworkだ。 簡単に言うと、.Net Frameworkとは、 ・利用者:最新版の.Net Frameworkさえ入れれば、大抵の.Netアプリが動く。 ・開発者:どの言語を使おうが同じライブラリ(ルーチン群)で開発できる。C#で作成したプログラム部品をVB.NETで使うなんて芸当も簡単。 という風に、Microsoftが編み出した次世代型のランタイム技術と言える。実際、Microsoftはこう表現している。 「JavaがWrite Once, Run Anywhereなら、.NetはWrite Once, Run Anywhere By Any Languageだ」と。 Microsoft.Netでは、VB.NET、C#、C++(、J#)の他に、CobolやPerlなども(外部アセンブリにより)使う事ができるそうな。使った事はないけど・・・・。 MFC使いなら恐らく君の技術レベルはかなり高いと見て、誤解を恐れずに次のような対比で話をしめよう。 MFC=Microsoft.Net MFCランタイム=Microsoft.Net Framework ニュアンス的には・・・・こんな感じかな~。てへ。
その他の回答 (4)
- anmochi
- ベストアンサー率65% (1332/2045)
> COMコンポーネントとして実現していると考えればよいのでしょうか。 う・・・ん。できれば似て非なる技術だと思っていて欲しいのだが、まぁコンポーネントを作成せずに使う側の開発者としては、COMコンポーネントと同じと考えても・・・・う~ん。まぁ、とりあえずはぼんやりとでも「似て非なる」と覚えておいて欲しい。 COMと比べて最も目に付く違いは、 1.レジストリに登録する必要がなくなった。 2.同じCLSID(※)を持つコンポーネントが、複数バージョン同時に配置できるようになった。 (※)正確にはCLSIDでは無い、COMとの対比の為にこう表現 3.コンポーネント名として、「ネームスペース」という概念が加わり階層構造になった。 の3点かなぁ。 > ニュアンス的に.NET Frameworkは > 一種の仮想マシンという雰囲気も伺えたのですが、 君はとても良い感覚をしている。確かに.Netの膨大なライブラリ群を見てみれば、ある種.Net自体がOSで、その機能を利用するAPIととらえる見方も十分通用すると私は思う。 まぁ、VMであると言い切ってしまえないのが、Sunが「VM」と表現しているのに対し、Microsoftが「Framework」と表現している理由なのだとも思うけどね。 君も分かっているように、MFCなどから比べて、進化というよりもまさに次世代というくらい基本理念から何から違うものなので、ゆっくりとその理念に触れながら開発方法を学んでいくしかないだろう。 > XMLやSOAP この二つの技術は、開発者の視点では#4さんの言うとおり、いわゆる「Webサービス」に収束されるのだろうな。現実問題として。確かにWebサービスを作るのもそれを利用するのも、なんかこう、ちゃちゃっと作ってぱっぱっと使う、う~ん・・・・、なんと言うか。あたかもDLLを1個作るかのようにWebサービスを作れるし、そのDLLを参照設定して使うかのごとくWebサービスを利用するプログラムを作れる。 まぁ、なんというか。確かに大した技術ですよ.Netは。ははは。
- todo36
- ベストアンサー率58% (728/1234)
>ソフトウェア開発の目指している目標 プログラミングの生産性と品質でしょう。 少ないコードで書ければ、工数が短縮できるし、バグが出にくい。 実行環境:.NET Framework 開発ツール:VS.NET ですばらしい開発環境を提供してくれている。 それが最大の魅力だと思います。 >XMLやSOAP VS.NETだと、Webサービスの開発が楽なのですよ。
- JeanneNet
- ベストアンサー率48% (100/208)
こんにちは、じゃんぬねっと です。 #1 さんのリンクでも良いですが、 JIT コンパイラや、マネージドなんて言葉なども合わせて Google などで検索してみてください。 フレームワークは「サービス指向」でわかりやすいですし、 (C#, VB2002~、J#, C++.NET などなど言語を選ばない) OS に特化した機能を使わなければ環境に依存しません。
お礼
JITコンパイラやマネージドを調べてみました。 .NET Frameworkの基本的な構成はJavaとよく似たところがあるような印象を受けました。 また、「サービス指向」についても少し調べてみました。詳しくはまったくわかりませんが、XMLやSOAPなどが今後のテーマとなっていきそうですね。しかし、ソフトウェア開発の目指している目標が(私の中では)まだはっきりしていません。もちろん、すぐにわかるような概念ではないと思うので、これから少しずつ勉強していきます。 ありがとうございました。
お礼
早速の回答ありがとうございます。要は.NET Frameworkは、ライブラリをCOMコンポーネントとして実現していると考えればよいのでしょうか。またそうすることの利点は、様々な言語で開発されたCOMコンポーネントを自由な言語で利用できるというところでしょうか。 また、ニュアンス的に.NET Frameworkは一種の仮想マシンという雰囲気も伺えたのですが、それは違いますか? 他にも、3層構造プログラミングなど、まだまだわからないことはたくさんあります。世界は広いですね。想像していたよりはるかに広いです。もっともっと勉強します。 ありがとうございました。