Loading
|
@IT > Master of IP Network > Mobile Connection > PalmでJavaアプリケーションを動作させる |
PalmでJavaアプリケーションを動作させる ―MIDP for Palm OS Early Access版レビュー― 服部隆志
NTTドコモがJava対応携帯電話を発売してもうすぐ半年が経とうとしており、またJ-フォンのJava対応携帯電話が6月23日、KDDIのJava対応携帯電話も7月4日に相次いで発売されました。本来のJava対応携帯電話という意味では、これら3社の製品すべてで同じJavaプログラムが動作してもおかしくないのですが、残念ながらNTTドコモの採用しているJava規格「DoJa」と、J-フォンやKDDIが採用している「MIDP」とではアプリケーションの互換性がありません(「携帯Java最新事情 ドコモ仕様とMIDPはどう違う?」を参照)。しかし、この2つの規格が今ようやく同じ土俵に上がることになります。日本における標準の携帯Java規格がどちらになるのか、これからが非常に興味深いところです。 この2つの規格のどちらが有利/不利という前に、NTTドコモとJ-フォンやKDDIの間には大きな違いがあります。それは一般の開発者がJavaアプリケーションをすぐに開発できるかどうかの違いです。NTTドコモは仕様と開発ツールを公開して、さらに一般のサーバ上にアプリケーションを配置できたため、強力なJavaコミュニティの力により、発売直後からその開発が可能でした。それに対してJ-フォンの携帯Javaでは仕様も公開されていませんし、アプリケーションのダウンロードが可能なサーバをJ-フォン内のサーバに限っており、現段階では一般の開発者がJ-フォンのJava対応携帯へ向けてアプリケーションを開発することは不可能です。また、Java仕様を公開しているKDDIでは、アプリケーションの配布にEZweb対応(HDML対応)した通常のWebサーバが利用できるようですが、アプリケーションをKJX(KDDI Java Extension)という独自の形式に変換しなければならないようなので、今のところ一般の開発者は開発することができません。 さて、MIDPが動作するプラットフォームはJ-フォンやKDDIの携帯電話だけなのでしょうか。そうではありません。実は、Palm OSでもMIDPが動作します。米Sun Microsystemsは5月30日に「MIDP for Palm OS Eary Access版」を公開しました。これを使うことで、個人レベルでは日本初のMIDPアプリケーション「MIDlet」を作成・公開することが可能です。J-フォンやKDDIのJava対応携帯電話へ向けてアプリケーションを開発しようと考えている方は、それぞれの仕様や開発ツールが一般公開されるまでに、このMIDP for Palm OSを使ってMIDPの基礎を学ばれてはどうでしょうか。 今回はMIDP for Palm OSのEarly Access版を使い、実際にPalmデバイス上でMIDletを動作させる方法を紹介します。
MIDP for Palm OSはJ2ME(Java2 Micro Edition)のCLDC(Connected Limited Device Configuration)に属するMIDP(Mobile Information Device Profile)のPalm OS用実行環境です。MIDPとはSunが推奨する携帯情報端末用の世界標準規格で、NTTドコモの「iアプリ(DoJa)」に対してJ-フォンとKDDIが自社のJava対応携帯電話に採用を決めたことで有名です。MIDP for Palm OSは、これから増えるであろうMIDP対応のアプリケーション「MIDlet」を最も普及率の高いPDAであるPalmデバイス上でも実行できるようにするため、またPalmやJavaコミュニティの強力な開発者団体にMIDPのアプリケーションを作ってもらうために作られたといえるでしょう。
実はこれまでにもPalm OS上で動作するJ2MEの実行環境がありました。それは「J2ME CLDC/KVM Palm」と呼ばれ、CLDCパッケージのほかにPalmのテスト用GUIパッケージが含まれています。こちらでもPalm上で動作するJ2ME CLDCレベルのアプリケーションが作成できますが、MIDPではないので当然J-フォンやKDDIのJava対応携帯で動作させることはできません。 ちなみに、KVMとは、K Virtual Machineの略で数百Kbytesの少ないメモリ上で動作するVM(Virtual Machine)のことです。
MIDP for Palm OSでは、ハードウェアがPalmデバイスであるため、携帯電話とは違う特徴が見られます。
同じMIDPでも、これらの特徴から互換性が失われる可能性がありますが、今後増えてくるであろうMIDP対応端末の中には、Palmより厳しい特異性を持ったものも出てくることでしょう。また将来的にはPalm用の拡張API群も登場するとみられ、Palm専用のMIDPアプリケーションというジャンルができてくるかもしれません。
PalmでMIDPを実行するには、Palm用のMIDP実行環境である「MIDP for Palm OS」と、MIDPのアプリケーションであるMIDletを開発する環境が必要です。MIDletの開発にはSunからJ2ME Wireless Tookitという開発環境が提供されているので、一般にはそれを使い、開発することになります。なお、ここではMIDletの開発法には触れません。
当然ですが、Palmデバイスを持っていない方でもMIDP対応アプリケーションの開発は可能です。逆にPalmデバイス上でのMIDP対応アプリケーションを実行させるだけであれば、MIDP for Palm OSだけで大丈夫です。ほかにネットワーク接続を利用するためには、Palmデバイス用のモデムや携帯電話との接続ケーブルを用意する必要があります。 ●エミュレータ 6月末に公開されたJ2ME Wireless Toolkit 1.0.2 Early Access2では、使用できるMIDPエミュレータにPalm OSが追加されました。しかし、これは他のエミュレータと違い、Palm社から提供されているPalm OS Emulator(POSE)に実機と同じ実行環境と製作したMIDletを自動的にインストールしてくれるものなので、Toolkitとは別にPOSEをダウンロードしてインストールする必要があります。 ところがこのPOSEを実行させるには、PalmデバイスのROMイメージが必要です。Palm OS 3.5以上のPalmデバイスを持っていない方はPalm Computingのサイトで開発者登録をし、数日後登録が済んでから改めてダウンロードしなければなりません。Palm OS 3.5以上のPalmデバイスを持っている方は、POSE付属のソフトを使い実機からROMイメージをダウンロードすることができます。ただし、ROMイメージをダウンロードするソフトは、現在USBに対応していないため、USBクレードルでは利用できません。別途シリアルクレードルを購入する必要があります。 POSEを実行させるのが困難な場合は、J2ME Wireless Toolkit 1.0.2以上に付属されるMIDPエミュレータの外観を変更することでPalmに近付けることが可能です。現在「ん・ぱか工房」の布留川氏によって公開されている「PalmVcのエミュレータプロパティ」を利用するとエミュレータの外観をPalmVcに近付けることができます。
●PRCコンバータ PalmでMIDletを実行するには、MIDletをPalm用のファイル形式であるPRCファイルに変換する必要があります。この変換をするためのツールがMIDP for Palm OSに付属されている「Converter.jar」と「MakeMIDPApp.jar」です。 Converter.jarは、GUIでMIDPのJADファイルを選択すると、指定されたJADファイルとMIDletのJARファイルを1つにまとめ、PRCファイルに変換します。
MakeMIDPApp.jarは、コンソールでPRCへの変換をしてくれます。またMakeMIDPApp.jarでは、コンソール時のオプションによって変換するPRCファイルの細かな設定も可能です。
●サンプルの実行 MIDP for Palm OSには、数種類のサンプルアプリケーションが付属されています。MIDP.prc以外で拡張子「.prc」となっているファイルがサンプルにあたります。Palmデバイスにこれらのサンプルファイルをインストールすることになるのですが、このときにMIDPの実行環境であるMIDP.prcもインストールする必要があります。MIDP.prcをインストールする前にサンプルなどをインストールしても、Palmデバイス側ではアプリケーションとして認識されないので注意してください。 MIDP.prcとサンプルアプリケーションをインストールしたら、Palmデバイス上でJavaManager(MIDP.prc)の設定をします。MIDP for Palm OS Early Accessでは「色数の設定」「描画の設定」「メモリ使用量の設定」「ネットワークの設定」ができます。 実際にサンプルアプリケーションを起動させるには、通常のPalmアプリケーションと同様にアプリケーションのアイコンをタップするだけです。 また通常PRCファイルのインストールにはHotSyncを利用しますが、イリンクスのPalm用ブラウザ「Xiino」「Palmscape」を使うと、インターネットからのインストールも可能です。これにより、現在でもMIDletをPalmを使ったネットワークのみで配布、楽しむことができます。
●MIDP用ベンチマーク Amark 1.2 PalmでMIDPが実行できる環境が整ったら、現在公開されているMIDPアプリケーションを実行してみましょう。実行してみるのは、Anfy Teamが開発したMIDP用ベンチマーク「Amark 1.2」です。Anfy Teamは、イタリアのメガデモ製作チームが元となっており、さまざまなエフェクトのアプレットが簡単に作れる「Anfy」や、Javaでの高速3D処理技術「Anfy3D」で有名なグループで、最近ではJ2ME環境にも進出してきました。今回のAmark 1.2も、現在公開されているMIDPアプリケーションの中で最も高度かつ刺激的なアプリケーションです。 Amark1.2では、「画面サイズ」「色数」「オフスクリーン情報」「入力イベント情報」「メモリサイズ」などのMIDP仕様の中でも端末によって変わってくる部分の情報を調べてくれます。しかし、何といってもこのAmarkのすごいところは、「描画処理能力」を計測するデモンストレーションの内容です。MIDP仕様だけを使い「ワイヤーフレーム」「画像の拡大縮小」「画像のウェーブ」「テクスチャモデル」「ボクセルエンジン」などを実現しています。残念ながらPalmデバイスの描画処理能力では、これらの処理を高速に表示することができませんが、PC上のエミュレータでは十分な速度が出ていますし、何よりMIDPの将来を期待させるだけのインパクトを持っています。 Anfy Teamのサイトでは、すでにPRC形式のAmark 1.2が公開されていますが、今回はあえてJADファイル・JARファイルをコンバートして実行してみます。 ・ダウンロード ・コンバート
・インストール ・実行
現在のMIDP for Palm OSはEarly Access版なので、いくつかの問題があります。代表的なものとして、以下に挙げるものがあります。
これらはPalm OSでのMIDPプログラミングに大きな障害となるため、正式版のリリース時には改善されていることを期待します。MIDP for Palm OSでは、今後HotSyncの機能や赤外線(ビーム)といったPalm独自の機能を利用することも考えられているようです。 MIDP自体の仕様でいえば、現在Sun Microsystemsはもちろん、モトローラやノキアなどのメーカーによってMIDP自体を拡張する規格が次々と考え出されています。最近では次世代MIDP規格として「MIDP-NG(MIDP-NextGeneration)」などというものも出てきました。これらの拡張仕様に対して、KVMのバージョンアップという形で対応できるPalmデバイスでのMIDPは、これから増えるであろうMIDP対応携帯端末の中でもメジャーな位置付けがされるかもしれません。
|
|
|
Copyright © ITmedia, Inc. All Rights Reserved.
|