当ブログは移行しました。

http://www.symmetric.co.jp/blogに移行しました。
5秒後に自動的に移動します。
移動しない場合はこちらをクリックしてください。

HTMLは何を使ったらいいのか?

全キャリア対応の携帯サイトを作る際に最初に決めなければいけないものが、使用するHTMLです。そして、ほとんどの場合、iモードXHTMLを推奨しています。もしサイトが2Gもサポートしたいのであれば、iモードHTML(CHTML)となるか、2G/3Gで2つの言語を出し分けることになります。

細かい仕様の違いは他の情報源を見ていただくとして、実は表現力の違いはiモードXHTMLとCHTMLにはあまりありません。大きなところで背景色が使えるところくらいです。そしてchtmlは2G/3Gで基本的には見れますが、xhtmlは2Gでは見ることができません。なのでxhtmlの時代ということを考えなければCHTML(ver.7)を利用するのは1つの合理的判断だと思います。

2Gはちょっと置いておいて、iモードXHTMLが推奨されるのは消極的な理由からで、au/softbankでは利用できるCSSが使えないからです。要するにstyle属性はどのキャリアの端末でも使えるので、仕方なくiモードXHTMLを使っているわけです。そして、このCSSを使えないという制約がHTMLをとても難解なものに変えてしまっています。例えば...

<hr style="width:80%;height:3px;border-style:solid;border-color:#FF0000;background-color:#FF0000;color:#FF0000;" size="3">

携帯サイトは、こういったコードを書かなければいけないので、効率が悪く、当然品質が保つことが困難です。加えて、キャリア世代ごとの細々した違いがあります。iモードXHTMLではfontやmarqeeタグが使えないとか、特殊なMETAタグがあるとか、宣言が違うとか、絵文字が違うとか、使えるCSSプロパティが違うとか。iモードXHTMLを使うにしても、さらにこれらをかいくぐってコードを書く必要があります。その中でCSSハックのようなトリッキーなことをしたりするケースさえあります。

では、どうしたらよいか?ラウンドアバウトでは次のように考えました。
  1. 機能差が小さいとはいえ、貧弱な仕様から高機能な仕様へは変換できない
  2. CSSが使えることは必須
  3. 違いは多々あるとは言え、XHTMLの体系しては、ほぼ一緒
そしてラウンドアバウトの利用言語については次のようになりました。
  1. XHTMLならなんでもOK(本当はXHTMLでもただのテキストでさえOK)
  2. CSS利用可能(ドコモでは自動的にstyle展開)

CSSは変換エンジンなら当然必要な機能だと思われるでしょうが、XHTMLなら何でもOKということが、実は大きなメリットを生み出します。これは別の機会に触れたいと思います。

ラウンドアバウトがある環境であれば、もう言語で悩むことはありません。PCのXHTMLでも大丈夫なので、これまで携帯開発の専門家にしかできなかったサイトを誰でも作ることができるようになります。

0 コメント:

コメントを投稿