Expression Studioは開発に使えるのか?
PHP開発環境としての機能を見てみよう!
第1回の記事で、PHPのエディタが最低限持っているべき機能として「プログラムを見やすくするカラー強調表示」と「複数への文字エンコーディングへの対応」を挙げました。では実際に、Expression Web 2の対応状況を見ていきましょう。
さっそく、筆者の書いたコードをExpression Web 2に読み込ませてみました(図3)。色分けはそれなりにされているようです。しかし、コメント文が文字化けしまっています。
このプログラムを書く時に使用している文字エンコーディングはUTF-8です。なぜ文字化けしてしまっているのでしょうか。
Expression Web 2では、どうやら文字エンコーディングの判断にMETAタグで指定されているcharsetを使用しているようです。今回読み込ませたPHPスクリプトにはHTMLが含まれていないため、Shift JISとして読み込んでしまいその結果文字化けしてしまいました。
一応この挙動はキーボードショットカットの「Alt+Enter」を押し、ページプロパティを表示し、Languageタブに含まれる「Reload the current document as:」で文字エンコーディングを設定すれば回避可能です。しかし、ファイルを読み込むたびにこの作業を行う必要があり、非常に面倒だと言えるでしょう。
誰のためのツールなのか?
結論から言ってしまうとPHPの開発環境としてエンジニアがExpression Web 2を使うというのはあり得ない、というのが筆者の感想です。
Expression Webの前身であるFrontpageのように「実際に出力したHTMLが読めたものではない」ということもないし、CSSへの対応も対応環境を選択できたりとWebオーサリングツールとしては確かに進化しています。PHPタグの内部ではPHPの組み込み関数の補完機能もあり、「PHPに対応した」というMicrosoftの言い分も確かに間違いではありません。
しかし、例えば文字エンコーディングについて触れたように、実務で問題になり得ることがある部分です。PHPは基本的に内部エンコーディングにShift JISを使うことを推奨していません。携帯向けの案件などでShift JISで出力する必要がある場合、内部エンコーディングはUTF-8やEUC_JP、出力エンコーディングはShift JISということが発生します。この場合、metaタグにはShift_JISを指定し実際のエンコーディングはUTF-8、ということになります。
また、HTMLやCSSを意識せずにWebページが作成できるというのはエンジニアにとってプラスに働くとは限りません。例えば、Expression Webで作成したページがOperaブラウザで正しく表示されないと指摘された時、「理由が見当もつかない」というのはやはり問題です。便利なツールを使うことも重要ですが、より深い知識を持つことがエンジニアにとってより重要だと筆者は考えます。
以上より、現状、Expression Webは「デザイナ、もしくはPHPを簡単なJavaScriptのようにちょっと埋め込んで使いたいWeb開発者」向けのツールという判断をしました。少し残念な結果になってしまいましたが、MicrosoftはVisual Studioのようなエンジニアが使いやすい開発環境も作っています。Visual Studioと同レベルのPHP開発環境の登場に期待したいところです。