SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

携帯シミュレータ入門

携帯サイト開発に必須な携帯シミュレータを紹介します。

携帯シミュレータの種類 2

3 Openwave SDK 3.3.1(UP. Simulator)

 

 EzWeb用の携帯シミュレータです。「UP. Simulator」と呼ばれ、HDMLを使った携帯サイト開発には必需品です(でした)。HDML対応の携帯シミュレータは、次のバージョンである「Openwave SDK Universal Edition 1.1」もありますが、「UP. Simulator」の方がシンプルで使いやすいです。

 「UP. Simulator」「Universal Edition」のどちらにも言えることなのですが、異常終了が頻発します。さらにHDML規格独特のキャッシュ利用・変数・Cookieの概念と相まって、動作を理解するまでがとても大変で、開発者泣かせでした。

 既にHDML専用の携帯のシェアは1%未満の筈なので、携帯サイトのHDML対応は考えない方が無難です。

4 Openwave SDK Universal Edition 1.1

 

 「UP. Simulator」の後継バージョンであり、新規格であるX-HTMLにも対応しています。

 現在ではさらに新しい「Openwave SDK 6.2K」が公開されています。X-HTMLを利用する場合は「Openwave SDK 6.2K」を使い、HDMLを利用する場合は「UP. Simulator」を使うことが多いので、今では中途半端な存在になったシミュレータです。

 「UP. Simulator」と同じく、異常終了が多いです。あまり使うことはないでしょう。

5 Openwave SDK 6.2K

 

 EzWeb用の最新のシミュレータです。HDMLには対応せず、X-HTML専用です。なぜかインターフェイスが「UP. Simulator」に先祖返りしています。「Universal Edition」が不評だったのでしょう……。

6 Web Contents Viewer

 

 Yahoo!ケータイ向けのシミュレータです。J-Phone時代の端末からVodafone、SoftBankに至るまでの新旧機種をシミュレートできるスグレモノです。ただし、User-Agentが実機と異なるので、注意してください(後述)。

7 919シミュレータ for J-SKY

 

 J-SKY向けの携帯シミュレータです。他の携帯シミュレータがキャリア、もしくはキャリアにブラウザを提供している会社が提供しているのに対し、Vodafone live!向け検索サイトを運営している会社が提供しています。

 SHARP製 J-SH02、 03をシミュレートできますが、「Web Contents Viewer」でも同じ機種を使えるので、これを使うことはないでしょう。

携帯シミュレータの使用上のポイント

 携帯シミュレータを使用する上で知っておくべきポイントを押さえておきましょう。

セッションの値が消える!?

 これは携帯アプリの基本中の基本ですので、携帯シミュレータとは関係ありませんが、引っかかる人が多いので説明します。Webアプリは通常、セッションをCookieに入れて引き継ぎます。携帯にはCookieを使えるものと使えないものがあります。

 Cookieを使わずセッションを引き継ぐ場合は、URLパラメタとしてセッションIDを渡します。これをURL再書き込み(URLリライティングと呼びます)します。開発ツールが、JavaであればHttpServletResponse.encodeURL()、ASP.NETであればweb.configファイル内<sessionState>タグのcookieless属性を調べてください。

携帯シミュレータは固有のUser-Agentを持つ

 User-Agentとは、携帯からWebサーバに対して送られる情報の1つで、携帯の機種を判別するための情報です。携帯シミュレータは、特有のUser-Agentを持ちます。各シミュレータのUser-Agentはこちらの表を参照してください。

 なお、「Web Contents Viewer」のUser-Agentは実機と異なります。実機のUser-Agentと次のような対応関係になっています。

実機とWCVのUser-Agent比較
実機のUser-Agent WCVのUser-Agent
SoftBank/XXX Semulator/XXX
Vodafone/XXX Vemulator/XXX
J-PHONE/XXX J-EMULATOR/XXX

 携帯サイトの中には、対応していない機種をUser-Agentで判別し、拒否するサイトもありますが、携帯シミュレータも(非公開で)対応機種に加えておくことで、障害解析がやりやすくなります。

UP. Simulatorが動かない!

 HDMLサイトを作ろうと考えている方、HTMLの経験があるからといって、甘く見ていませんか? HDMLはHTMLとはまったく異なる言語です。できればHDMLサイトなんか作らずに、X-HTMLに対応することを検討してください。それでもHDMLに対応しなければいけない人は、まずUP. Simulatorがまともに動いてくれないことに悩むでしょう。

なぜURLを入力してEnterを押してもリクエストがサーバに飛ばないのか?

 HDMLは、できるだけキャッシュを使う、という「小さな親切、大きなお世話」をしてくれます。同じURLのレスポンスがキャッシュにある限り、キャッシュを表示して終わってしまいます。ではどうすれば期待しているリクエストを飛ばせるのでしょうか?

 そのためには、URLパラメタにリクエストごとにユニークな値となるパラメタを付けてください。URLパラメタが異なれば、キャッシュを表示せずリクエストを飛ばして動きます。例えば現在時刻をミリ秒単位で設定しても良いですし、乱数を使うという手もあるでしょう。

まとめ

 本稿では、携帯シミュレータの種類、特徴、使用上のポイントについて説明しました。携帯サイト開発をこれから始める人には役に立つと思います。既に携帯サイト開発をしているけどシミュレータを知らなかった人は目からウロコでしょう。ですが、「全部知っているよ」という人は「もっとまともなシミュレータは無いのか」と思うかもしれません。しかし、シミュレータは所詮シミュレータです。最終的には実機で確認をすることを忘れないでください。

 少しはお役に立てたでしょうか?

参考資料

  1. EZWebホームページ制作完全マニュアル』 嶋 是一 著、アスキー、2001年8月
  2. HDMLの解説本はもう本屋では買えません。AmazonやYahoo!オークションで探しましょう。
  1. ubiquitous.com
  2. このサイトの「各キャリア仕様一覧」「HTMLタグ簡易一覧(変換HDML対応付き)」は秀逸なので、ブックマークしておきましょう。
  1. 携帯サイトの作り方
  2. 「PCと携帯の違い」は、携帯サイト作りが初めてという方は必読です。
修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
特集記事連載記事一覧

もっと読む

この記事の著者

佐藤 龍之介(サトウ リュウノスケ)

某SIer にて、主にWeb系開発プロジェクトに従事。 趣味はラーメン食べ歩き。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1352 2008/09/03 13:55

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー