HTML手書きは職人技?

羽生さんの日記のコメントでPHPな人はWEB慣れしているとあった。これ、お客さんも言うんですけど、”PHPってデザインが綺麗じゃないですか”って。確かにそう思えるのは間違ってません…PHPで作られているものはデザインが凝っていたり、美しいものがなぜか多いです。でも、ありゃPHPで表現しているんじゃなくてあれもHTMLで表現してるんです。さらにWEB慣れという観点では、PerlPHPASPも関係無いです。ぶっちゃけて言えばHTML+JavaScript+CSSのTIPSの塊です。WEBアプリケーションって独自のTIPSがいっぱいあるじゃないですか。あれはかなりHTMLとJavaScriptが分かっていないと凝った要求に答えられないわけで、デザインについても同じ事が言えます(はてななんて良い例。テーブルでデザインが構成されていると思いきや、違います。興味ある方は右クリック→ソースの表示で。ほぼスタイルシートで制御されています)。WindowsMacの様々なブラウザでほぼ同じ見た目、同じ動作を実現するのは激しくつらいです。WindowsIEだけでとてもとても動きが異なるのに、そこにMacIEやら、Windowsネスケやらが登場してきます。通常の業務アプリケーションならば、運用で縛る事も可能なのですが、私の経験の一つはコンシューマ向けだったので、できる限りの対応をしなければなりませんでした(それでもネスケ6はdivがおかしかったのでシステムで弾きましたけど)。レイヤーで画像を張りまくればそれこそCGと同じレベルの見た目が実現できますが、重たくなります。テーブルタグを使いまくって美しくレイアウトすることもできます。色彩についても目にやさしく、見やすい色彩を選べます。さらにCSSの切り替えで見た目を瞬時に変える事もできます。こういう知識はウェブアプリケーション開発者にとってデフォじゃないんでしょうか…。とは言っても全てとは言いません。デザインはデザイナにお願いするのがベストです。しかし、そのデザインにロジックを埋め込むのはプログラマの仕事なので、プログラマがデザインを構成しているHTMLやCSSを読めなくてどうしますか。ちょっとタグを埋め込んだらデザインがズレてしまった。どうやっても直らない。それはプログラマがタグを埋め込んだ時に使用したたった一つのタブによるものかもしれません。はたまた改行によるものかもしれません。ソースからは感じられない影響が出るのが、繊細なHTMLです(これは極端な例ですが、本当に起こります)。

かなりの偏見かとは思いますが、本当に必要とされるデザインを実現するには、HTMLは手書きでなければ駄目です。改行ひとつでちょっとしたスペースが開いたり、tableタグのborder="0"を省略するか、明示的に書くかでも見た目が変わります。とっても繊細なHTMLを自在に操るにはグラフィカルなエディタだけでは不十分だと思うのです。とは言っても、ゼロから手書きするのは非効率なのでできる限りグラフィカルエディタで作って、最後の微調整を手で行うのが定石でしょう。

私、HTMLもXMLも完全に手書きなんですけど…変ですか?というか、どういうタグを書いたらどう表示されるか、こういう事を表現したい場合はどう書くか、普通には実現できない事の逃げ道はどういうのがあるか。こういうのに延々と取り組んできた人は少なくないはず。かなり職人技な気もしますが、手書きの時代はもう少し終わりません。複雑なHTMLを調整する場合には必ず手が必要になると思うからです。HTMLベースのWEBアプリケーションはサーバサイドの技術はめまぐるしく変化していますが、クライアントサイドのHTML+JavaScript+CSSというのはまだまだ健在です。他にもBiz/Browser, Curl, Flashなどありますけど、HTMLアプリケーションに比べたらまだまだ少ないです。というわけで、HTML+JavaScript+CSSが理解できて、サーバサイドの言語が自由に扱えれば、とりあえずウェブアプリケーションエンジニアとしてベストな開発が行えるでしょう。

PHPがデザインという観点で目立つのはなぜでしょう?とりあえずJSPやらASPはフリーのサーバが少ないという事で見かけませんよね。残るメジャー所はPHPPerlとします。PerlPHPの方が最近人気のように思えます。よってよく見かけるのがPHPで、時代はリッチな見た目になってきたと?だから、PHP=デザインが綺麗という印象が付いたのかな。私もPHPで作られた掲示板やらグループウェアを見る度に”さすがPHPだ”なんて思ってたりもしたんですが、結局はHTMLなわけで、なぜPHPに綺麗なデザインが多いかは不明です。でも、ASPJSPでとんでもないデザインを実現してる人もいるんですよ…DHTMLを解禁したらFlashバリに動きます。しかし…どれも業務アプリケーションにはオーバーデザインなわけで、フリーソフト以外であまりに凝ったUIは必要無いでしょう。見た目はそこそこ、使いやすさを極上に。でも職人が減ってきた気もします…タグ記述…楽しいですよ?(苦笑)