WebMatrix 2:ASP.NET と PHP

執筆日時:

前回(WebMatrix 2:フォルダーから Web サイトを作ってみる - だるろぐ)は、空のフォルダーから Web サイトを作って HTML ファイルを配置し、それをローカル Web サーバー(IIS Express 7.5)でホストするところまで進めた。でも、静的な HTML だけではちょっとつまらないかな。

「WebMatrix 2」では、サーバーサイドで動的に HTML を生成することもできる*1。“動的”というのは、要求に応じて異なる内容を出力できるということ。これができると、いろいろなメリットがある。

世の中にはさまざまなサーバ・サイドプログラミング環境があるけれど、「WebMatrix 2」ではそのなかでも“ASP.NET”と“PHP”をサポートしている*3。空のフォルダーから作成した Web サイト でも簡単に利用できる。

ASP.NET(C#)*4

f:id:daruyanagi:20121211081503p:plain

拡張子は“.cshtml”(Visual Basic の場合は *.vbhtml)。“Razor”と呼ばれるシンプルな構文で記述できる。

@{
var s = "Hello! World"; // 追加
}

<!DOCTYPE html>

<html lang="en"> <head> <meta charset="utf-8" /> <title></title> </head> <body> @s <!– 追加 –> </body> </html>

f:id:daruyanagi:20121211082320p:plain

拡張子を省略してもアクセスできる。

PHP: Hypertext Preprocessor

f:id:daruyanagi:20121211082442p:plain

拡張子は“.php”。おそらくもっともポピュラーなサーバーサイドプログラミング言語。

<?php
$s = "Hello! World"; // 追加
?>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title></title> </head> <body> <?php echo($s); ?> <!– 追加 –> </body> </html>

f:id:daruyanagi:20121211082528p:plain

PHP を利用するには

「WebMatrix 2」で PHP を利用するには追加のコンポーネントが必要。

f:id:daruyanagi:20121211082852p:plain

まず、[サイト]タブの[設定]画面を開き、“PHP を有効にする”をチェック。

f:id:daruyanagi:20121211082949p:plain

すると、「PHP 5.4.8 for IIS Express」がインストールされる。

f:id:daruyanagi:20121211083024p:plainf:id:daruyanagi:20121211083028p:plainf:id:daruyanagi:20121211083032p:plain

セットアップはほとんど自動で行われる。

どちらを利用すべきか?

なんなら混ぜて利用することもできるので、別にどっちでもよいのだけれど、これから Windows プラットフォームでサーバーサイドプログラミングを始めるならば、ASP.NET の方をお勧めしたい。後発であるがゆえのさまざまなメリットがある。

  • 構文がシンプル
  • 言語レベルでのセキュリティ設計で一日の長がある
  • C# が利用できる。この知識は Web プログラミング以外にも活用できる

PHP の方が優れている面も、もちろんある。

  • Windows / IIS 以外の環境でも動作する
  • 動作実績が豊富でサンプルも多く、学習が容易
  • Razor より少しだけ速いらしい

*1:クライアントサイドの場合は、JavaScript でやるよね!

*2:いわゆるマッシュアップ

*3:node.js も利用できるのだけど、ちょっと理由があって今回は省いている

*4:Visual Basic も利用できる