PHP×携帯サイト デベロッパーズバイブル
2008年10月21日(火曜日)
PHP×携帯サイト デベロッパーズバイブル
うわさの「PHP×携帯サイト デベロッパーズバイブル (www.amazon.co.jp)」を軽く見ましたが……「ゆるいなぁ」、というのがひとまずの感想。
メモ的なコメントを順不同でだらだら列挙しておきます。
- 最初の1行掲示板のサンプルがいきなり脆弱。「完成版」になっても脆弱。
- 「auではテキスト入力欄で改行が入力できる」という発想の仕方がどうも……。auに限らず、テキスト入力欄に限らず、改行が入力されることは常にあり得ると考えたほうが良いと思うわけで。
- Cache-ControlをHTTP応答ヘッダではなくmeta要素で指定。20世紀のフリーCGIみたい?
- Content-TypeをHTTP応答ヘッダとmeta要素の両方で指定する必要があるように読めますが、metaは不要なはず。しかも、何故かmetaにだけcharsetがついており、肝心な方についていないので、これをそのまま実装するとはせがわさん (utf-8.jp)に軽く攻略されそうですね。まあ、charsetは端末ごとに変えるので別途実装、ということなのでしょう。たぶん。
- ベータ版のモジュールをオススメされても……。これ業務で使って大丈夫なのでしょうか。
- XHTMLの文書型宣言を端末ごとに出し分ける実装って普通なのでしょうか。XMLでは文書型宣言の重要性はそれほど高くありませんし、どうせ端末固有の実装が優先される世界なのですから、端末の実装に問題がなければ文書型宣言なしでも良いと思うのですが。
- ……ひょっとして、文字参照という言葉をご存じない? ソースコードに「HTMLエンティティに変換」というコメントが書いてあったりするあたり、いかにもという感じはするのですが。
- Unicodeは「2バイト系」の文字集合となっていますが、BMPにしか文字がなかった時代の話でしょうか。そもそも、文字集合を「nバイト系」で分類すること自体がヘンではありますが。
- UTF-8の説明があんまりです。最初は2バイトで、歴史とともに長くなって3バイトになった? いやいや、UTF-8は元々可変長で、1~4バイトで一つの文字を表します。ちなみに当初は最大の長さには特に制限がありませんでしたが、RFC3629では4バイトまでに制限されています。
- bind設定ファイルの「IN TXT」の説明が「固定の値」って……。DNSのTXTレコードをご存じないとか?
- href属性の値の中に&をそのまま書いてはダメ。XHTMLだと普通にエラーになるはずです。
- 全体的に文字符号化方式と符号化文字集合がごっちゃになってしまっていて、説明が分かりにくくなっているように思います。特に本書の肝である絵文字について、文字が「文字集合に存在しない」のと「文字符号化方式で表現できない」のはだいぶ違うわけでして、そこをきちんと区別した上で説明してもらいたかったところです。
※ちなみに、本文には「文字集合と文字符号化方式は異なるので区別しましょう」という主旨のことが書かれていますが、まったくそのとおりなのでして、ごっちゃにされると説明が分かりにくいです。
ちなみに内容ですが、HTMLの説明はきわめて少なく、CSSの説明は一切なしと言って良い状態で、バックエンドの実装の話しかありません。バイブルと謳っていますが、この本だけで携帯サイトを開発することは難しいでしょう。
※スタイル一切なしで良いのであればともかく。
……と、ややネガティブな感想が並びましたが、ちゃんと収穫もありました。特に「SJISを指定すると絵文字が壊れるがSJIS-winを指定すれば大丈夫」という話は、なかなか興味深いです。
初学者にはオススメしませんが、ある程度知識のある人がバックエンド実装のノウハウを身につけたいという場合には良いのではないかと思います。
- 「PHP×携帯サイト デベロッパーズバイブル」にコメントを書く
- 前(古い): 21世紀少年上・下
- 次(新しい): JVNのクレジットに英語表記も併記しては?