昔々作ったASPのプログラムが必要になって、プレゼン用に改修している・・・
その時はそれなりに作りこんだわけだけれど、とても難しい。文字コードもそうだし、各ページはバッファにためて出力するのだがページごとに作りこんでいる。これはこれで動かしてしまわないといけないわけだが。
HTMLを出力するプログラムというのはどういうのがいいのだろうか。
当時、クラシックASPはクラスが使えなかった。だが、もしそうできるなら、ページを管理するクラスがあって、タイトルとか基本的なデザインとかを設定すると、最終的な出力がHTMLとして出力されるべきと思っていた。たとえば htmlというクラスがあって、html.setTitle(“会社概要”)などと設定でき、html.WriteHeader()みたいなメソッドでヘッダーが書き出されるとか。タグの内容とクラスが対応していたらどうか、などと考えたものだった。
だが、その後Webはどんどん発展した。
まずデザインとプログラムの分離だった。デザインはデザインでデザイナーがデザインする。HTMLの形式や会社のホームページの色合いや画像が変わっても、プログラムが出力する内容は変えなくてもいい。当時のASPはある意味よくできていて、出力する際に<%=variable%>とすればvariableで設定された変数の値が表示される。これでも十分良いといえばよかった。そして、その後cgiに代わってメインになっていったphpでも同じだった。
次にSEO対策だ。一つのURLでパラメータでさまざまなコンテンツが表示されるという選択肢では、複数のページがプログラムの吐く一つのページと検索エンジンが理解する。どうせなら
http://www.example.com/?p=profile
とするよりは、
http://www.example.com/profile/
としたほうが良い。
さらに言語の問題で、デザインが同じでも表示されるテキストは国ごとに違うなどということにも対応できたほうが良い。多言語というならutf-8などが良いが、携帯ではshift_jisが良いとか、さまざまな問題がある。
いくつかのテンプレートや基本的な仕組みができているが、一長一短だ。EC-CUBEなんかはよくできているとは思うが。