Insider's Eye

ASP.NET開発のハードル下げるWeb Matrix

―― Web Matrixの狙いは、自立的なASP.NET開発者コミュニティを構築し、LinuxやApache、Javaに向かった開発者を呼び戻すことだ ――

Greg DeMichillie
2002/10/10
Copyright(C) 2002, Redmond Communications Inc. and Mediaselect Inc.



 本記事は、(株)メディアセレクトが発行する月刊誌「Directions on Microsoft日本語版」 2002年9月15日号 p.30の同名の記事を許可を得て転載したものです。同誌に関する詳しい情報は、本記事の最後に掲載しています。

 ASP.NETで動作するWebアプリケーションWebサービスを作成するための新しい開発ツール「Web Matrix」は、Microsoftの主力開発ツールであるVisual Studio .NETよりも気軽にWeb開発者が使えるように設計されている。

 MicrosoftがWeb Matrixを提供する狙いは、ASP.NET WebサーバAPIを中心とする自立的な開発者コミュニティを構築することだ。ここ数年、LinuxやApacheやJavaといった競合技術に開発者を奪われつつあるMicrosoftにとって、それは特に重要なポイントである。ただし、Web Matrixの利用を検討する開発者は、同製品のサポートがMicrosoftのProduct Support Servicesからではなく、開発者コミュニティのWebサイトでのみ提供される点に留意しなければならない(ASP.NETの詳細は、Directions on Microsoft日本語版2002年1月15日号の「Webアプリ開発環境を改善するASP.NET」参照)。

ASP.NETの開発を簡略化

 Web Matrixは、HTMLやシンプルなスクリプティングさえ使えれば十分という、カジュアルな開発者にアピールするために設計されたツールだ(現在、同ツールはプレリリース版が提供されている)。このツールには、ASP.NETページを構築し、コードを記述して、それらのページをカスタマイズするために必要な機能のコアセットが含まれる。搭載される機能は次の通り。

■ASP.NETページ用グラフィカルエディタ
 Web Matrixには、ASP.NETページを作成/編集するためのエディタが含まれる。このエディタを使えば、コンポーネントや記述済みのHTMLをドラッグ&ドロップしたり、ベースのHTMLを編集したりするなどして、ページをグラフィカルに編集できる。

■コントロールパレット
 Web Matrixには、ASP.NETページに配置できるコントロールのパレットが含まれる。コントロールには、ボタンやテキストボックスのようなシンプルなHTMLエレメントもあれば、カレンダーやテキスト・フィールドのように複雑な機能(例えば、開発者が設定した一定の基準で入力データの有効性を判断する)を備えるものもある。

■Visual BasicまたはC#を使ったカスタマイズ
 Web Matrixでは、ASP.NETページのエレメントをレイアウトできるほか、ページにコードを追加することも可能だ。例えば、ページのボタン・コントロールをダブルクリックすると、シンプルなエディタが起動し、Visual BasicかC#のいずれかの言語を使ってコードを記述できるようになっている。ASP.NETは、アプリケーションのユーザーがこのボタンを押すとコードを実行する。

■コーディング作業ウィザード
 さまざまなアプリケーション開発で、同じようなコーディング作業が必要になることは多い。Web Matrixには、よく使うコードの作成を自動化するウィザードが含まれる(ただし、Web Matrixではウィザードではなく「コードビルダ」と呼ばれる)。例えば「Send E-Mail」ウィザードは、開発者からメールアカウント名やメールサーバなどのデータを収集し、それらのパラメータを使ってメール送信コードを生成する。

■テスト/開発用Webサーバ
 Web Matrixには、ASP.NETアプリケーションをローカルで実行できるスタンドアロンのWebサーバが含まれる。Windows XP Home EditionにはMicrosoftのWebサーバであるInternet Information Services(IIS)が含まれないため、このエディションのWindowsを使用する開発者にとって、スタンドアロンのWebサーバは特に重要だ。

開発者コミュニティを後押し

 ここ数年、開発者コミュニティの関心はMicrosoftや同社の技術(Windowsなど)から離れ、Linux、Apache、Javaといった技術に向かった。Microsoftは.NETをWebサービスの主要プラットフォームとして確立するために、開発コミュニティの注目を取り戻すことが不可欠と考えている。

 Web Matrixでは、ユーザーが相互に情報を交換し、ASP.NETを中心にコミュニティ意識が高まるように、いくつかの工夫がなされている。

 まず、MicrosoftはASP.NETとWeb MatrixにフォーカスしたWebサイトを構築して、製品のドキュメンテーション、サンプルコード、討論フォーラムなどを用意した。討論フォーラムにはASP.NET開発チームのメンバーが常に出入りしている。

 さらに開発者は、作成したカスタムコントロールやサービスをサイトにアップロードでき、それらのコンポーネントのリストはWebサービスで公開される。これによって、開発者はWeb Matrixツールを使ってWebサービスを照会したり、ほかの開発者が作成したコンポーネントをダウンロードしたりすることができる。

 Microsoftはこうした機能により、開発者同士のコンポーネント共有を奨励し、ASP.NETを中心に活発な開発者コミュニティを構築したい考えだ。

Visual Studioと比較した制限事項

 Web Matrixのほとんどの機能は、Microsoftの主力開発ツールであるVisual Studioでも提供されている(Visual Studioに関しては、本サイトで公開中の別稿「Insider's Eye:Visual Studio .NETがついに正式リリース」およびDirections on Microsoft日本語版2002年3月15日号の「Visual Studio .NETを正式リリース」参照)。ただし、Web MatrixはASP.NET開発ツールとしてゼロから開発されたものであり、Visual Studioの単なる簡易版ではない。開発者は2つのツールに以下のような違いがあることを留意する必要がある。

■Web Matrixのサイズは非常に小さい
 Web Matrixは1Mbytes強で、簡単にダウンロードできる。一方、Visual Studioの場合、ダウンロードは想定されておらず、Professional Editionのインストールには3.5Gbytes程度の空き容量が必要になる。

■IntelliSense機能はない
 Visual Studioと比較した場合、Web Matrixの最大の欠点は恐らく、シンタックスカラーリング(読みやすいように言語エレメントが色分けされる)などの基本的なコード編集機能は含まれるものの、IntelliSense機能に欠けるという点だろう。

 IntelliSenseとは、コードの一部を入力するだけで、コードブロックを完成するためのさまざまなオプションが提供される機能だ。開発者はIntelliSense機能のおかげで、いちいちデータタイプや関数名を調べる必要がなく、マニュアルの代わりとして非常に重宝する。Web MatrixにはIntelliSense機能が搭載されないため、ASP.NETに慣れていない開発者の場合、オンラインのマニュアルを頻繁に参照しなければならないだろう。

■「インラインコード」対「コードビハインド」
 Web MatrixとVisual Studioは、ASP.NETページのHTMLとその動作をコントロールするコードの統合化に、異なる技術を用いている。Web MatrixはアプリケーションコードをHTMLと同じファイルに格納する「インラインコード(inline code)」と呼ばれる技術を用い、Visual StudioはページのHTMLとプログラミングコードを別々のファイルに格納する「コードビハインド(code behind)」と呼ばれる技術を用いる。

 通常、HTMLやJavaScriptなどの言語を使い慣れている開発者にとっては、インラインコードの方が簡単だ。インラインコードであれば、2つのファイルを管理する必要はなく、コンパイラなどのツールを使って別のファイルにコードを構築する必要もないからだ(ASP.NETは、ページに含まれるインラインコード用のコンパイラを自動的に起動する)。

 コードビハインド・モデルの最大の利点は、コードを記述する開発者とWebページのHTMLを作成する設計者が、お互いの作業を間違って修正してしまうことを心配せず、個別に作業を進められる点だ。

 Visual Studio .NETとWeb Matrixが異なる技術を用いているということは、一方のツールを使って作成したASP.NETファイルは、もう一方のグラフィカル環境では使えないことを意味する(インラインコードとコードビハインドの違いについては、Directions on Microsoft日本語版2002年1月15日号の「コードビハインド(Code Behind)」参照。またコードビハインドを始めASP.NETの詳細については、本サイトで公開中の別稿「プログラミングASP.NET」を参照)。

■プロジェクト・システムがない
 Web Matrixはファイル・ベースであり、開発者がプロジェクト間でアプリケーション群を体系化し、プロジェクトが相互にどのように関連しているかを説明できるVisual Studioのプロジェクト・システムは搭載していない。

 プロジェクト・システムは複雑な開発プロジェクトの管理を自動化できるが(例えば、どのファイルがどのプロジェクトに属するかといった情報を監視する)、かなりの複雑さを伴うため、Web Matrixチームはこの機能を割愛した。

 Web Matrixでは、Visual Studioのように多様なプロジェクトタイプ(ASP.NETページからWindowsサービスまで)を提供するのではなく、WebページやWebサービスを構築し、それらを通常のスタンドアロンのファイルとして保存するようになっており、ファイル群を体系的に整理する方法は用意されていない。

■デバッガがない
 Web Matrixには、統合デバッガが含まれない。Web Matrixでコードのバグを見付けるには、ログファイルに記録するか、画面に追加メッセージを表示させるといったように、何かしら別の手段を講じる必要がある。

■サポートはコミュニティで
 Web Matrixは通常のProduct Support Servicesチャネルではサポートされないため、ユーザーはWeb Matrixに関する技術的な問題を解決する場として、Microsoftが奨励している開発者コミュニティに頼るしかない。

 正式なサポート組織がないという点でも、Web MatrixはIT企業やISVなどによる生産開発より、むしろ初心者による開発やカジュアルな開発に適しているといえる。End of Article

Web Matrix
Web Matrixは、Microsoftが無償提供しているWebサービス/Webアプリケーション開発ツールである。有償バージョンであるVisual Studio .NETと比較すると、数々の点で機能的な制限があるとか、Microsoftの製品サポートは利用できないなどの制限はあるが、初心者がプログラミングを始めるきっかけとしては十分な機能を持つ。Webアプリケーションのページなどをグラフィカルなインターフェイスを用いて設計することができる(:この画面は、Insider.NET編集部で独自に追加したものです)。
 
リリースおよび参考資料

 
Web Matrixは現在、“テクノロジー・プレビュー版”がダウンロードできる。Microsoftはこのツールの最終版がリリースされるのか、いずれアップデートされるのか、いまだ明らかにしていない。Web Matrixの位置付けは、Microsoftが「Web Matrixのシンプルさとコミュニティ指向の特性を備え、簡単にダウンロードできるVisual Studioエディション」を開発するまでに暫定ツールとも考えられる。

■ASP.NETのコミュニティ・サイトやWeb Matrixのダウンロード先は次のとおり。
ASP.NETのコミュニティ・サイト
Web Matrixのダウンロード・ページ

■Visual Studioに関する情報は、次ページを参照。
MicrosoftのVisual Studio .NETの情報ページ

■Web Matrixのグラフィカル環境
 Web Matrixは、ASP.NETページを作成、編集したり、Visual BasicやC#でページをカスタマイズするためのグラフィカル環境を提供する。
 
Directions on Microsoft日本語版
本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。Directions on Microsoftは、同社のWebサイトより定期購読の申込みができます。
 
 Insider's Eye


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 記事ランキング

本日 月間