モバイルJava最新動向
[検証]MIDP for Palm OS Early Access版
米川英樹
スカイアーツ
2001/7/5
2001年5月末、米サン・マイクロシステムズからPalm OS向けのMIDP(Mobile Information Device Profile)実装であるMIDP for Palm OSのEarly Access版がリリースされました。Palm OS向けMIDP実装の提供は、2000年12月にアナウンス(http://java.sun.com/pr/2000/12/pr001212.html)されていました。KJava発表後からPalm用のMIDPアプリケーション(MIDlet)の開発を行っていた筆者としては、首を長くして待ち望んでいた実装です。
さっそく、MIDP for Palm OSについていろいろな角度から見ていくことにしましょう。なお、以下の記述はこの原稿執筆時点で一般に公開されているEarly Access版をもとに記載してありますので、正式版がリリースされたときに内容が変更される可能性があることにご注意ください。
MIDP for Palm OSとは? |
MIDPは携帯電話やページャー、PDAなど、メモリ資源などの制約が厳しい端末向けに制定されたプロファイルで、世界の主要な携帯電話メーカーに採用されています。日本国内でも、J-フォンやKDDIがJava対応携帯電話機にMIDPを採用しています。そして、そのMIDP 1.0実行環境をPalm OS用に実装したものがMIDP for Palm OSとなります。
ところで、J-フォンやKDDIのJava対応携帯電話機はMIDP仕様を採用しています。メーカー独自の拡張APIを使用せずに、これらの携帯電話機に向けて作成したMIDletは、Palm OS機でも走らせることが可能になります。Javaの利点である"Write Once, Run Anywhere"が生きるというわけです。
MIDP自体について知りたい方は、Java Solutionに掲載されている「ドコモ仕様とMIDPはどう違う?」や「MIDPプログラミング入門」を参照してみるとよいでしょう。
また、現在MIDP for Palm OSのEarly Access版は次のURLからダウンロードできます。ご自分でダウンロードして試してみるとよいでしょう(http://developer.java.sun.com/developer/earlyAccess/midp_palm/)。
(注:Early Access版はPalm OS 3.5以上、メモリ4Mbytesが必要で、実行環境は約540Kbytesあります。ダウンロードには登録(無償)が必要です)
さて、ここでMIDP for Palmと数年前にすでに発表されているKJavaとの違いが気になった読者もいらっしゃることでしょう。次のセクションでは、KJavaとMIDP for Palm OSを比べます。
■KJavaとはどこが違うの?KJava(http://java.sun.com/products/cldc/)とは、1999年のJavaOneにおいてK virtual machine(KVM)と一緒に発表(http://java.sun.com/pr/1999/06/pr990615-17.html)されたPalmに特化したJava実行環境です。
KJavaのアプリケーション起動画面 |
MIDPと同様にCLDC(Connected Limited Device Configuration)の上のレイヤとしてPalm用のプロファイルを使用することで、以下のようなことが可能です。
- Palm OS独自のPalmDB(PDB:PCのファイルのようなもの)へのアクセス
- 赤外線通信(ビーム)
- MIDIファイルの演奏
(KJavaの正式版は1999年のJavaOneに発表されたKJavaから変更が加えられていて違うものであるといえますが「名称がはっきりしていない」「CLDCと一緒にダウンロードできる実装のパッケージ名に"kjava"が使用されている」という理由からKJavaと呼びます)
KJavaは「実行環境をインストールする必要がある」「起動が遅い」「日本語表示が面倒」「日本語入力ができない」などの問題があったため、国内ではあまり使われなかったようです。
MIDP for Palm OSにも「実行環境をインストールする必要がある」「起動が遅い」「日本語表示が面倒」といった問題はありますが、「日本語入力ができない」という問題は解消されました。
また、最新のCLDC 1.0.2リリース(http://www.sun.com/software/communitysource/j2me/cldc/)で提供されたKJavaのサンプルアプリケーションのUITestには「KJavaのUIについては、公式なサポートを長くは行わない。公式なUIはMIDP仕様書を見るように」といったことが記載されており、KJavaはMIDP for Palm OSに置き換わることをうかがわせます。
では、MIDP for Palm OSとKJavaの大きな違いを挙げてみます。
●ファイルの扱いKJavaはPalmDB(PDB)にアクセスできたが、MIDP for Palm OSは基本的にアプリケーションがアクセス可能なローカルリソースはMIDP仕様にあるRMS(Record Management System)のみとなっているためPDBにアクセスする手段は提供されない可能性がある。
●GUI部品
MIDP for Palm OSには、KJavaにあるようなButton、ScrollBar、DialogなどのGUI部品がない。そのため、複雑なUIアプリケーション開発には向いていないと思われる。
KJavaのUITest画面 |
●日本語入力
KJavaは日本語入力ができなかったが、MIDP for Palm OSはC/C++で書かれたPalmware(Palm用ソフトウェア)と同様に問題なく入力ができる。しかも、MIDP
for Palm OSはほかのPalmwareとコピー&ペーストで文字列を渡すことも問題なくできるようになっている。
●低レベル描画
KJavaは描画時に癖があったが、MIDP for Palm OSはJ2SEに近いのでそれほど癖はない。
MIDP for Palm OSは、MIDP仕様どおりであればPNGファイルをそのまま表示することができます。ただし、描画処理に時間がかかると思われます。Early
Access版で試した限りでは、KJavaと同様に日本語描画に関して問題があります。例えば低レベル描画やGUIコンポーネントに全角文字の「あ」を表示する場合、Unicodeの"\u3042"ではなくPalm
OS日本語版で使用されているShift-JISのコード(0x82a0)に沿った形で"\u0082\u00a0"と指定しないと、正しく表示されません。
●音再生機能
KJavaはMIDIを再生できたが、MIDP for Palm OSはMIDP仕様のため、基本的にエラー音など、数種しか使用できない。
KJavaとMIDP for Palm OSの違いは上記のとおりですが、Palm OS機と携帯電話機には画面の形状的な違いがあります。次のセクションでは、Palmに特化した仕様を見ていくことにしましょう。
Palm OS向けにMIDPに追加された機能 |
|
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|