ポイント—その3 IISがなくてもWeb開発が可能

 .NETプログラミングでは,XML Web サービス対応など,インターネットの仕組みをターゲットにしたプログラミングを行うことが多いでしょう。しかし現行のVisual Studio .NET 2003でWebプログラミングを行うには,開発環境にIIS*2を導入する必要があります。このことを知らずに(IISを搭載していない)Windows XP Home EditionでWeb開発を行おうとすると,プロジェクト作成の段階でエラーに遭遇してしまいます。

図6●Visual Web Developer Web Serverの設定画面

 このようなことがないように,VS2005では開発用のWebサーバーであるVisual Web Developer Web Serverを新たに搭載します(図6[拡大表示])。これにより,開発環境として使えるWindowsの幅が広がるばかりでなく,ちょっとした動作の確認やロジック検証にわざわざIISを利用する必要がなくなります。IISの環境を意識しないでプロジェクトを作成できる点は,多くの開発者にとってかなりうれしい機能ではないでしょうか。これなら,いままで「Web開発は面倒くさそうだから」と敬遠していた人も,比較的ラクにWebアプリケーションの開発を行えるようになると筆者は思います。

C#は,言語仕様の拡張で利便性の高いプログラミングを目指す

 VS2005の新機能はたくさんありますが,中でもC#がバージョン2.0となる点は見逃せません。特に,コーディングにおける簡便性と,IDE(統合開発環境)で表示されるデザイナとの連携の2点が強化されます。注目すべきは,

1) Generics
2) Iterators
3) Nullable Types
4) Anonymous Methods
5) Partial Class

の五つでしょう。Genericsを使うとコレクションに保持する型に対して間違った型でのアクセスを行っていないかのチェックをコンパイル時にできます。

 またIteratorsを使うと,これまで反復処理可能なクラスを作成するにはIEnumerableインタフェースとIEnumeratorインタフェースを実装したクラスの二つを作成する必要があったのに対して,IEnumeratorを戻り値にするGetEnumeratorメソッドを追加するだけで済むようになります。

 Nullable Typesはヌル値を持たせることができる変数を宣言する機能です。

 Anonymous Methodsは,デリゲート*3を自由度の高い利用方法で実現する機能です。従来のデリゲートは前もってdelegate宣言でメソッドのシグネチャを定義しておき,処理の実体はシグネチャに合わせたメソッドを別途作成して,利用する場面でdelegateをインスタンス化して委譲を行っていましたが,Anonymous Methods機能を使えば,いきなりdelegate宣言とdelegateの実態を記述することが可能となります。

 IDEのデザイナとの密接な関係で機能強化されたPartial Classは,ファイルをまたがって部分的にクラスの定義を行える機能です。大規模なプロジェクトで一つのクラスの設計をファイル別に分担し作成することが可能となります。これら言語としてのC#の機能アップは,これまでのコーディング量を大幅に少なくする可能性を秘めています。

.NET Framework 2.0の新コンポーネントにも注目

 これまで見てきたように,VS2005は単に .NET Frameworkのバージョンアップに合わせたものではなく,今現在開発者に要求されている,より迅速により品質の良いアプリケーションを開発するための機能に重点を置いてバージョンアップされます。

 そのことはIDEの機能拡充の面からも言語の拡張の面からも実感できます。ここではプログラミングの手法に焦点を当てた紹介となりましたが,.NET Framework 2.0となって再編成されたクラスライブラリ・コンポーネントのいくつかがVS2005のIDEのツールボックスに登録されており,すぐにでも利用可能な状態となっています。これらの追加されたコンポーネントを使うことでも,プログラミングの幅は確実に広がるでしょう。

ハヤトエンタープライズ 諸農 和岳(Microsoft MVP Visual Developer C#)