PR

図1●ASP .NETの仕組み
まず.aspxファイルをWebサーバーが解釈して,HTMLの部分をWebブラウザに送る。ユーザーがボタンを押すなどしてサーバーに処理を依頼すると,サーバーは.aspxファイルに含まれたスクリプトを実行し,画面を生成してWebブラウザに返す。.aspxファイルに含まれるスクリプトは,初回の呼び出し時にコンパイルされる。次回からはコンパイル済みのバイトコードが実行されるため,高速に処理できる。
図2●Web Matrixによる開発のイメージ
基本的な見た目はVisual Studio .NETに似ているが,Webアプリケーションに特化しているぶんシンプルである。左に並んだ部品の一覧をマウスで中央に貼り付ける。データベースのテーブルを貼り付ければ,それを表示するための部品が自動的に挿入される。これをそのまま実行すれば,データベースに格納された値が表示される。
画面●クエリーを対話的に作成
SELECTクエリーを作成するためのダイアログ・ボックス。取り出したい項目にチェックをつけるだけでよい。
 PerlやPHP,JSP(JavaServer Pages)など,サーバー側で動作させるスクリプトを使ってWebアプリケーションを開発するための言語や実行環境はいろいろ存在する。米Microsoft社がここに提供しているのがASP .NETだ。

 ASP .NETはWindows 2003 ServerのInternet Information Services(IIS)で利用できる。Windows 2000/XPでもIISと.NET Frameworkを導入すれば利用可能だ。ただIIS自体には開発環境がないので,自力でスクリプト・ファイルを書くか,Visual Studio .NET(VS .NET)を使うしかなかった。

 そんな中,無償で利用できるASP .NETの開発環境が出てきた。「Micro-soft ASP.NET Web Matrix version 0.6」である。MicrosoftのASP .NET開発チームの有志が開発したものだ。2004年2月24日に日本語版が公開された。

 無償にもかかわらず,かなり便利に使えるツールに仕上がっている。簡単なWebアプリケーション開発に必要な機能はほぼ網羅されている。逆に余計な機能がないので,VS .NETよりも軽快だ。

Visual Studioと手順は同じ

 ASP .NETは,Webサーバーで動作するアプリケーションの開発/実行環境である。画面表示とスクリプトが記述された.aspxファイルをサーバーが処理し,結果をWebブラウザに返す(図1[拡大表示])。

 Web Matrixでも,開発の対象は.aspxファイルである。ファイルを新規作成すると,画面中央にまっさらなWebページが表示される(図2[拡大表示])。ここに,必要な部品をドラッグ・アンド・ドロップで貼り付ける。VS .NETと同じやり方だ。

 画面のデザインとHTMLのソース,スクリプトのソースコードはタブで切り替えられる。「HTML」タブを開くと,UI部分を担うHTMLの記述だけが表示される。「コード」タブで見えるのは,スクリプトのソースコードのみ。自分が編集すべき個所を把握しやすい。

コードは.aspxファイル内に記述

 スクリプトを記述するための操作もVS .NETと同じだ。ボタンが押されたときに実行する処理を記述する場合は,ボタンをダブルクリックする。すると自動的に,プログラムの記述画面に切り替わる。

 ただ,スクリプトが挿入される個所が異なる。ASP .NETは手軽なスクリプトとしても,大規模なシステム開発にも使える技術だ。VS .NETでは大規模なシステムの保守・開発を想定しているので,デフォルトでスクリプトは別ファイルに記述する。画面表示とスクリプトを分離する「CodeBehind」という機能を使う。これによって保守性が向上し,デザイナとプログラマの役割を分けやすい。

 これに対してWeb Matrixでは,もっと手軽なスクリプトという使い方を想定している。このため同じ.aspxファイル内の<script>というタグの中にスクリプトを挿入する。開発者が意識しなければならないファイルの数を減らして管理しやすくしようとしたのだろう。

データベース関連機能が充実

 Web Matrixのもう一つの売りは,データベース関連の機能だ。データベースを操作する簡単なアプリケーションなら,プログラムを書かずに作れる。

 Web Matrixには,AccessまたはSQL Server/MSDEデータベースに対話形式でアクセスする機能が備わっている。アクセスしたいデータベースとファイル名を入力するだけで,定義されているテーブルがIDEの内部に展開される。

 データベースの中身を単純に表示するだけなら,任意のテーブルを選んで中央の画面にドラッグ・アンド・ドロップすればよい。HTMLのTableを使って,データベースの内容を自動的に格納するための部品が挿入される。そのまま実行すれば,格納されているデータが一覧表示される。ただデータベースに登録されているクエリーやストアド・プロシジャは同じ操作では取り込めない。ADO .NETを使って操作することになる。

 代わりにクエリー・ビルダーを標準で備えた。ダイアログ・ボックスを使ってクエリーを対話的に生成できる(画面[拡大表示])。

 コーディング作業が終わったら,手軽に動作を確認できるのもWeb Matrixのメリットだ。テスト用のWebサーバーが同梱されている。同一マシンからのアクセスしか受け付けないためスタンドアロンでのテストしかできないが,IISがなくても動作確認できる。

機能的には不足もある

 当然ながら,無償なのでVS .NETより劣る面はある。使ってみて一番不便を感じたのは「IntelliSence」に相当する機能がないこと。プログラムの入力時に,想定されるプロパティやメソッドの一覧を提示する機能である。コーディングの手間が省けるし,膨大な.NET Frameworkのクラス・ライブラリをその都度調べなくてよい。各クラスのプロパティやメソッドが頭に入っていれば気にならないかもしれないが,多くの開発者は不便を感じるだろう。また,デバッガがないのも少々物足りない。

開発生産性の高い手軽なツール

 MicrosoftはこのツールをASP .NETの学習用と位置付けている。だがIntelliSenceやデバッガがないことを考えると,全くの初心者が使うのには少しハードルが高いのではないだろうか。

 むしろ,ある程度慣れた開発者が手早くWebアプリケーションを開発したい場面で役立ちそうだ。複雑で大規模な開発には適用しにくいかもしれないが,大半のWebアプリケーションはそこまで大掛かりな処理は求められない。VS .NETより,Web Matrixの方が便利な場面は少なからずあるだろう。

(八木 玲子)