特集

「Microsoft WebMatrix」でWebアプリの世界へ踏み出そう! 第1回

「WebMatrix」とは? 機能の紹介とインストールまで

(11/09/01)

「Microsoft WebMatrix」「Microsoft WebMatrix」

 「Microsoft WebMatrix」(以下、「WebMatrix」)は、マイクロソフトによるまったく新しい動的なWebアプリの開発環境だ。

 Webアプリの開発といえば、環境構築やツールを揃えるのが面倒、使い方がわからない、Webサーバーへの設置でいつもつまづいてしまうといったユーザーが多いのではないだろうか。しかし、「WebMatrix」を利用すれば、驚くほどの手軽さで環境の構築からWebアプリの開発・テスト・公開までが行える。

 また、「WebMatrix」向けにパッケージングされた60種類にものぼるWebアプリを、わずか数ステップでインストールできるのも魅力的。開発者のみならず、いろいろなWebアプリを試してみたい人、個人ブログなどを開設してみたい人、すでに開設済みのWebサイトを改善したい人、これからWeb開発やデータベースの勉強を始めたい人などにもおすすめできるツールと言える。

60種類にものぼるWebアプリを、わずか数ステップでインストール・実行(例はブログエンジン「WordPress」)60種類にものぼるWebアプリを、わずか数ステップでインストール・実行(例はブログエンジン「WordPress」)60種類にものぼるWebアプリを、わずか数ステップでインストール・実行(例はブログエンジン「WordPress」)

 そこで、本特集では全4回にわたって「WebMatrix」の魅力を紹介していく。第1回目となる今回は、「WebMatrix」の基本的な機能とそのインストール方法について解説する。

「WebMatrix」とは何か

 「WebMatrix」とは、Webサーバー・データベース・フレームワーク(開発言語など)・テキストエディター・アップロードツールをひとまとめにしたソフトだ。

 たとえば、これまでWebアプリを開発する場合は、Webサーバー(Apache)、データベース(MySQL)、開発言語・フレームワーク(PHP)を個別にインストールして、それぞれが連携できるように設定したのち、テキストエディターでコーディングするといった開発スタイルが一般的であった。

テキストエディターベースの開発スタイルテキストエディターベースの開発スタイル

 この開発スタイルは、好みのツールが利用できるため柔軟性が高いと言えるが、環境の構築には若干知識と手間が必要だ。また、本番サーバーへアップロードするためのFTPクライアントソフトや、場合によっては各種サーバーの起動・終了を行うツール、データベースの内容を閲覧・修正するためのデータベース管理ソフトなどを揃える必要があるのも面倒だ。

 しかし、「WebMatrix」ならばそれらを1つのソフトで行える。しかも、無償で提供されているというのだから使わない手はない。

 なお、「WebMatrix」で利用されるコンポーネントは、開発向けの軽量Webサーバー「IIS 7.5 Express」、データベース「SQL Server Compact 4.0」、.NET言語でWebサイトを開発できる「ASP.NET」など、その多くがマイクロソフト製の技術をベースとしているが、「PHP」「MySQL」などを利用したWebアプリの開発・実行にも対応している。

「WebMatrix」を利用した開発「WebMatrix」を利用した開発

 「WebMatrix」の機能は、大きく分けて“テスト・発行”“Webアプリのインストール”“開発(コーディング)”“データベース管理”“レポート”の5つに集約できる。

1. テスト・発行:Webサーバーの起動・停止とWebサイトの発行(デプロイ)。PCにインストールされた各種WebブラウザーでWebサイトの動作チェックを行うこともできる。すでに開設済みのWebサイトをダウンロートしてローカルで管理することも可能だ1. テスト・発行:Webサーバーの起動・停止とWebサイトの発行(デプロイ)。PCにインストールされた各種WebブラウザーでWebサイトの動作チェックを行うこともできる。すでに開設済みのWebサイトをダウンロートしてローカルで管理することも可能だ

2. Webアプリのインストール:オープンソースで開発された約60種類のWebアプリを簡単にインストールできる2. Webアプリのインストール:オープンソースで開発された約60種類のWebアプリを簡単にインストールできる

3. 開発(コーディング):PHP/C#(ASP.NET)言語が利用可能で、ツリーによるファイル管理機能や色分け表示機能も備える3. 開発(コーディング):PHP/C#(ASP.NET)言語が利用可能で、ツリーによるファイル管理機能や色分け表示機能も備える

4. データベース管理:Excelライクなデータ編集やSQL文による問い合わせに対応4. データベース管理:Excelライクなデータ編集やSQL文による問い合わせに対応

5. レポート:検索エンジン最適化(SEO)が可能5. レポート:検索エンジン最適化(SEO)が可能

3~5の機能は、画面左下のボタンで切り替える仕組み3~5の機能は、画面左下のボタンで切り替える仕組み

MEMO無償のWebアプリ開発環境「Visual Web Developer 2010 Express」

「WebMatrix」から「VWD 2010 Express」を起動「WebMatrix」から「VWD 2010 Express」を起動

 マイクロソフトのWebアプリ開発環境のラインナップには、ほかにも“Visual Studio”シリーズのWebアプリ開発版「Visual Web Developer 2010 Express(VWD 2010 Express)」が存在する。「WebMatrix」のほうが手軽に利用できるだろう。

 「VWD 2010 Express」にはコードの自動補完機能“IntelliSense”を利用できるなどのメリットがあるが、いきなり挑戦するには多少機能が多すぎるかもしれない。その点、「WebMatrix」の方が手軽と言える。言うなれば「WebMatrix」は、テキストエディタによる開発スタイルと、「VWD 2010 Express」を利用した開発スタイルの中間に位置するものだ。

 なお、「WebMatrix」から「VWD 2010 Express」への移行は非常に簡単なので、『とりあえず「WebMatrix」で始めてみる』のは非常に有効な手段だ。

「WebMatrix」の導入

 それでは、早速「WebMatrix」をインストールしてみよう。

「Web Platform Installer」のインストール

「Web Platform Installer(Web PI) 3.0」「Web Platform Installer(Web PI) 3.0」

「Web PI」などのマイクロソフト製Webアプリ開発ツールは“www.microsoft.com/web/”(通称“スラウェブ”)で入手できる「Web PI」などのマイクロソフト製Webアプリ開発ツールは“www.microsoft.com/web/”(通称“スラウェブ”)で入手できる

 Webアプリの開発は、Webサーバーやデータベースサーバー、開発言語とその実行のためのソフト、開発を支援してくれる各種ライブラリやツールなど、多くのコンポーネントを組み合わせて行われるのが普通だ。

 たとえば、「WebMatrix」を動かすだけでも、以下のコンポーネントが必要となる(Windows 7で筆者環境の場合)。

  • Microsoft .NET Framework 4
  • ASP.NET Web Pages
  • ASP.NET Web Pages Language Packs
  • Microsoft SQL Server Compact 4.0 Tools
  • IIS 7.5 Express(開発用の軽量Webサーバー)
  • SQL Server System CLR 型
  • SQL Server Native Client
  • Microsoft SQL Server Compact 4.0(簡易データベースエンジン)
  • SQL Server 2008 R2 管理オブジェクト
  • Web 配置ツール 2.0
  • Microsoft WebMatrix

 これらのコンポーネントは、互いに依存し合っており、インストールの順序やインストール時の設定を間違えれば正常に動作しないことも多い。このような“依存関係”の問題を解決して、必要なコンポーネントを自動でダウンロード・インストールしてくれるのが「Microsoft Web Platform Installer 3.0」(以下、「Web PI」)だ。

 「Web PI」はWebアプリやその開発ツールのインストール支援ソフト。目的のソフトをカタログから検索・インストールできるほか、Webアプリのギャラリーサイト“Windows Web App Gallery”にある[Install]ボタンからWebアプリを一発でインストールできるようにしてくれる。

「WebMatrix」のダウンロードとインストール

 それでは、さっそく「WebMatrix」のインストールを行おう。ダウンロードページは、以下のURLにある。

 もし「Web PI」が未導入であれば、“1ステップ必要です”というWebページが現れ、「Web PI」のダウンロードとインストールを行うよう促される。

「WebMatrix」のダウンロードページ「WebMatrix」のダウンロードページ

「Web PI」が未導入であれば、“1ステップ必要です”というWebページが現れる「Web PI」が未導入であれば、“1ステップ必要です”というWebページが現れる

 「Web PI」が導入済みであれば、リンクを「Web PI」で開くかどうかをたずねるダイアログが現れるので、[許可]を選択しよう。「Web PI」が起動し、「WebMatrix」のダウンロードとインストールが開始される。

「Web PI」が導入済みであれば、Webページから直接インストール可能「Web PI」が導入済みであれば、Webページから直接インストール可能「Web PI」が導入済みであれば、Webページから直接インストール可能

MEMO「Web PI」のカタログから「WebMatrix」をインストール

「Web PI」のカタログから「WebMatrix」を検索・インストール「Web PI」のカタログから「WebMatrix」を検索・インストール

 前述したとおり、「Web PI」のカタログから「WebMatrix」を検索・インストールすることも可能。「VWD 2010 Express」や、Windows Phoneアプリの開発に必要な「Windows Phone SDK 7.1」などのツールも、「Web PI」から簡単にインストールすることができる。

 なお、マイクロソフトのダウンロードセンターにも「WebMatrix」の単体パッケージが用意されているが、こちらを利用した場合は依存関係を自分で解決しなければならない。「Web PI」を利用してインストールすることを強くお勧めする。

「WebMatrix」のインストール

 インストール画面はウィザード形式になっており、指示に従って進めていくだけでよい。インストールするコンポーネントの配信サーバーが混雑している場合、ダウンロードに時間がかかる場合もあるが、辛抱強く待とう。

1. インストールの開始1. インストールの開始

2. 同時にインストールされるコンポーネントの確認と使用許諾契約書(EULA)への同意2. 同時にインストールされるコンポーネントの確認と使用許諾契約書(EULA)への同意

3. ダウンロードとインストール3. ダウンロードとインストール

4. 完了。[起動]というリンクをクリックすると、「WebMatrix」が起動する4. 完了。[起動]というリンクをクリックすると、「WebMatrix」が起動する

 なお、Windows XP環境の場合はあらかじめ“Windows Update”を無効にしておこう。インストール作業が途中で止まってしまうことがあるようだ。

 また、「XAMPP for Windows」などといったWAMP(Windows+Apache+MySQL+PHP)環境の構築ツールとの相性はよくないので併用は避けたい。すでに「MySQL」などを個別に導入している場合は、あらかじめWindows サービスを停止させておく必要がある。

 万が一インストールがうまくいかなかった場合は、ログファイルを参照してほしい。Windows 7の場合、“C:\Users\(ユーザー名)\AppData\Local\Microsoft\Web Platform Installer\logs”に保存されており、うまく行かなかった原因を知る手がかりとなる。コンポーネントの取得先のWebサーバーが一時的に不調であるなどといった原因も考えられるので、その場合は再度実行してみるとよいだろう。

 また、マイクロソフトの武田正樹氏のブログには「WebMatrix」に関する疑問への答えやトラブルの解決方法がまとめられている。困ったときはぜひ一度参照してほしい。

次回は「WordPress」のインストールに挑戦

 スクリーンショットを多用したので手順が多く感じられるかもしれないが、実際に行ってみると「WebMatrix」を導入する際にユーザーがしなければならないことはほんのわずかであることがわかる。たったこれだけで、Webアプリの開発・実行のための環境が構築できてしまうとは、便利な世の中になったものだと実感できる。

 しかし、「WebMatrix」の魅力はこれだけではない。次回は、実際にオープンソースのPHP製ブログエンジン「WordPress」をローカルPCへインストールして、動作させる方法を紹介する。「WebMatrix」「WebPI」でインストール可能なWebアプリの紹介も併せて行う予定なので、期待してほしい。

(柳 英俊)