連載:Visual Studio 2005でいってみようDBプログラミング

第1回 Visual Studio 2005でいってみよう

山田 祥寛(http://www.wings.msn.to/
2006/03/01
Page1 Page2 Page3 Page4

 Visual Studio 2005(以降、VS 2005)は、.NET Framework対応のアプリケーション(以降、.NETアプリケーション)を開発するための統合開発環境(IDE:Integrated Development Environment)です。VS 2005を利用することで、Windows上で動作するデスクトップ・アプリケーションからインターネット上で動作するWebアプリケーションやWebサービスまで、さまざまなアプリケーションを非常に簡単に構築することができます。どのくらい簡単に構築できるのか――それを読者諸氏に体験していただこうというのが本連載の目的です。

 タイトルにもあるように、本連載ではVS 2005環境を前提に、データベースを使ったWindows/Webアプリケーションを構築しようとしている開発者の方を対象にしています。

 VS 2005(あるいは.NET Framework)に触れるのが初めてという方もいらっしゃると思いますので、第1回の今回は、まず.NET Frameworkの概要とVS 2005の基本的な使い方について紹介していきます。次回以降の本編に備えて、ここで基礎的な知識を身に付けておきましょう!

.NET Frameworkとは?

 冒頭、VS 2005は「.NETアプリケーションを開発するためのIDEである」と紹介しました。さて、近ごろよく目にする「.NET Framework」とは何でしょうか。VS 2005について理解する前に、.NET Frameworkについて理解しておく必要があります。

 .NET Frameworkとは、Windows上で動作するアプリケーションを開発/実行するための基本環境です。ただしそのアプリケーションは従来のものと少し異なります。従来のアプリケーションはWindows上で直接に動作していたわけですが、.NETアプリケーションは.NET Framework上でのみ動作します。

 このことは、すべての.NETアプリケーションの動作が.NET Frameworkによって管理されることを意味しています。つまり、.NET Frameworkの世界では、メモリの確保や解放、セキュリティの制御といった仕事は.NET Frameworkに委ねることができるというわけです。これによりセキュリティは向上し、また開発者もビジネス・ロジックに集中して取り組むことができます。


図1 マネージ・コードとアンマネージ・コード
従来のアプリケーション(アンマネージ・コード)はWindows上で直接に動作していたのに対して、.NETアプリケーション(マネージ・コード)は.NET Framework上でのみ動作する。

 なお、.NET Framework上で管理されて実行されるアプリケーションは「マネージ・コード(Managed Code)」と、従来のWindows上で直接に動作するアプリケーションは「アンマネージ・コード(Unmanaged Code)」と呼ばれます。

■.NET Frameworkの構造を理解する

 もっとも、これだけの説明だとイメージがつかみにくいかもしれません。図2に.NET Frameworkの大まかな概念図を示してみましょう。


図2 .NET Frameworkの構成
.NET Frameworkは主に、CLR(Common Language Runtime:共通言語ランタイム)と.NET Frameworkクラス・ライブラリという2つのコンポーネントから構成されている。

 .NET Frameworkは、主にCLR(Common Language Runtime:共通言語ランタイム)と.NET Frameworkクラス・ライブラリという2つのコンポーネントから構成されます。

CLR(共通言語ランタイム)

 CLRは、その名のとおり、.NETアプリケーションを動作させるための共通的な実行エンジンです。

 .NET Framework以前には、それぞれの言語ごとに異なる実行エンジンを持っていました。例えばVisual Basic(以降、VB)では、VBアプリケーションを動作させるために、Visual Basicランタイムという独自の実行エンジンを利用してきました。また、Visual C++ではMFC(Microsoft Foundation Class Library)やATL(Active Template Library)などのクラス・ライブラリを使用したWin32ネイティブ・アプリケーションがWindowsシステムから直接実行されていました。このため、.NET Framework以前では、使用する言語によっては特定の機能が実現できない、あるいは、同じ機能を実現しているにもかかわらず、使用言語によってパフォーマンスが異なる、というようなことも起こり得たわけです。

 しかし、CLRではVB、C#、C++、J#、いずれの言語を選択しても、コンパイルされた結果はMicrosoft Intermediate Language(以降、MSIL)という共通の中間言語に変換されます。これによって、開発者がいずれの言語を選択しても、(基本的に)同様の結果とパフォーマンスを得ることができます。

.NET Frameworkクラス・ライブラリ

 .NET Frameworkクラス・ライブラリは、.NET対応の言語から共通して呼び出すことができる高機能な「部品」の集合です。.NET Framework以前、開発者はWin32 APIやMFC、ATL、VB Formsのようなライブラリを、使用する言語や目的に応じて、自ら選択する必要がありました。

 しかし、.NET Frameworkではライブラリの選択に煩わされる必要はありません。VB、C#、C++、J#……いずれの言語を選択しても、.NET Frameworkクラス・ライブラリを利用することで、同様の機能を同様の手順で利用することができます。つまり.NET Frameworkでは、やりたいことから適した言語を選択するのではなく、開発者が自分の得意に応じて言語を選択できるわけです。また、(例えば)VBで得た知識は、C#やC++などほかの言語でも役立ちますので、言語自体の乗り換えも容易になります。

 .NET Frameworkクラス・ライブラリには、データ操作やセキュリティ制御、スレッド管理のような基本的な機能をつかさどるものから、データベースやXMLへのアクセス手段を提供する高機能なライブラリまで、一般的なアプリケーションを構築するために必要とされる機能が含まれています。

 ちなみに、これらライブラリの中でもデータ・アクセス機能(データベースやXMLデータへのアクセス機能)を提供するライブラリ群を、基本クラス・ライブラリとは区別して「ADO.NET」と呼びます。ADO.NETは、.NET Framework以前から提供されていたADO(ActiveX Data Object)の.NET Framework対応版です。

 また、.NET Frameworkには、Windowsアプリケーションを構築するための「Windowsフォーム」やWebアプリケーションやXML Webサービスを構築するための「ASP.NET」など、「アプリケーション・フレームワーク」も提供されています。

 アプリケーション・フレームワークとは、アプリケーションを構築するための基本的な枠組み(ルール)のことです。.NET Frameworkの世界では、フレームワークが定型的な機能をあらかじめ提供してくれていますので、開発者が繰り返し同じようなコードを記述する必要はありません。開発者は、本当にアプリケーションに固有な機能だけを意識して、開発を進めることができます。

 

 INDEX
  Visual Studio 2005でいってみようDBプログラミング
  第1回 Visual Studio 2005でいってみよう
  1..NET Frameworkとは?
    2.Visual Studio 2005の基本を理解しよう
    3.VS 2005でアプリケーションを開発しよう(1)
    4.VS 2005でアプリケーションを開発しよう(2)
 
インデックス・ページヘ  「Visual Studio 2005でいってみようDBプログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間