発売からわずかな期間で劇的に普及したNTT Docomoの携帯電話向け
Javaアプリケーション、iアプリ。
とりあえずLinuxでコンパイル/テスト出来る環境が出来たので
簡単にメモります。
● はじめに
-
承前、iアプリはNTT Docomoの携帯電話で使用できるJavaアプリケーションです。
開発者向け情報はWindows向けのものがほとんどですが、結構たくさんあります。
しかしながらLinuxやFreeBSDでJavaな人には当たり前で簡単なことなのか、
Linux/FreeBSD向けの情報が意外と見つかりませんでした。
基本的にWindows環境の方法と同じようにすれば、
Linuxのみでの開発環境が構築できます。
ほとんど必須であるソフトのNTT Docomoの開発ツール(J2ME for Doja)、
サードパーティ製のエミュレータ/ライブラリi-Jadeなどは、せっかくJavaで書かれているのに、
インストールにWindowsが必要だったりするのが残念なところです。
ただ、インストール後のパッケージをLinux側に持ってくれば使えました。
メーカ提供のものの方が互換性が高いので、ちょっと主旨とはずれますが
こちらもご紹介します。
それにしても、せっかくのJava環境なので、もっと、なんとかして欲しいものですね。
● iアプリ開発環境の概要
-
ドキュメントなどを当たれば詳しく書いてありますので、
とりあえず、簡単に概要など。
iアプリではNTT Docomo仕様のJava2 Micro Edition CLDCを使用します。
基本部分はCLDCで、上位にDocomoの規定するクラスライブラリと
各メーカ独自の拡張部分という構成です。
従って開発には少なくともJava, CLDC, Docomoライブラリの3つが必要です。
また、通常のJavaアプリと異なる点として、
バイトコードの検証を事前に行う必要があるため
そのためのツールが必要です。これはCLDCに含まれています。
他に、各アプリケーション毎にJamというアプリケーション情報が必要です。
エディタで作成しても簡単ですが、NTTのツールや後述のiShurikenなどには、このJamファイルの生成機能があります。
1. ダウンロード可能なアプリのコンパイル
- JDKの環境を整える
- J2ME CLDCをインストール
- i-Jade、J2ME for Dojaなどのクラスライブラリ/エミュレータを準備する
- 1,2を使ってJava Sourceをjavacでコンパイル
- CLDCに含まれる事前検証ツールpreverifyを使って出来たclassファイルを検証する
- イメージやclasssファイルをjarでパック
- jarのファイルサイズをADF(JAM)ファイルに追加する
2. webサーバにアップロードする
- JarファイルとJamファイルを1に従って準備
- htmlファイルにjamファイルの情報を入れる
- webサーバにアップロード
● JDK環境とJ2ME CLDC、Doja向けクラスライブラリ
-
まずはJava環境が必要です。SunからJDKとJ2ME CLDCをダウンロードします。
基本的にJDK 1.3ベースです。1.3.1でも動作に問題はありませんでした。
JDKはダウンロードしたパッケージを実行すると
rpmが出来るのでインストールがとても楽です。
CLDCは/usr/local/javaなどに展開してコンパイルする必要があります。
パッケージを展開しj2me_cldc/build/linuxの中に入ってmakeします。
javacが使えることが必要です。
コンパイルが終わるとpreverifyとクラスライブラリが出来ます。
● iモード対応DoJa(互換)ライブラリ/エミュレータなど
-
次にNTT DocomoのJavaクラスDojaか、その互換のクラスライブラリ/エミュレータを
用意します。
特にNTT Docomoのページは仕様書などのドキュメント類があるので、
チェック必須です。
Linuxのみで用意できるものと、いったんWindowsにインストールした後、
利用可能な部分のみを利用するものがあります。
● ツール/IDEなど
-
未検証のものも含め、Linuxに対応したフリーのJava開発環境など...
などなど...
● 参考リンク
-
環境構築やプログラミングに参考にさせていただいたサイト
-
-
イチから始める、iモードJavaプログラミング
- とっつきにわかりやすく、勉強になりました
-
@IT(atmarkit)のMobile Connection
- 環境作成時にWindows+コマンドラインでの解説を大変参考にさせていただきました。
- iShuriken
- いろいろなツールも含めて説明が豊富です。
- iappli-fan
- ここのツールはScripting Hostを使っているのでWin専用ですが情報が多数
などなど多数
● 感想など
-
まだまだありますが...それにしても、さすが圧倒的ユーザ数を誇るi-mode、
登場からわずかな期間でコンテンツもデベロッパ向け情報も結構充実しています。
ただ、機種間での互換性やバグの問題も結構あるようですね。
なにせ私のN503iではnttdocomoのサンプルが動作しません(^^;;