第2回 iアプリ製作の流れ

残念ながら(恐れていたとおり)原稿執筆時までに,NTTドコモからライブラリは供給されず,発表はされたものの実機も手に入らなかった。仕方ないので先に基本を固めてしまうことにしよう。(毎週金曜日更新)

【国内記事】 2001年1月15日 更新

大半はWindows上で作成可能

 前回は最低限,必要なツールやファイル類を取り上げた。しかしiモードJavaで初めてJavaに取り組むという人は,まず何がなにやら分からないということもあるだろう。そこで今回は,iモードJavaアプリケーションを作るまでの流れを解説していくことにする。

 多くの人が知っていると思うが,Javaでは基本的に機種やOSに依存しないソフトウェアが作れることになっている。いろいろ微妙なことを言い出すとキリがないが,原則的にはそうなのだから,Windows上だろうがiモードの携帯上だろうがJavaなら同じように動くというのが建前だ。

 そのような仕組みを成り立たせているのがJava仮想機(Java Virtual Machine:JavaVM)というシステムだ。JavaVMは,Javaマシンという架空のコンピュータをシミュレートするソフトウェアで,JavaアプリケーションはJavaマシンの上で動く形になる。JavaVMさえ動いていれば,その下はどの機械,どのOSでも同じというわけである。

 ただ,iモードJavaに限るとほかのJava環境とは少し事情が違っていることは知っておいたほうがいい。前回書いたようにiモードに実装されているJavaは,Javaフルセット(Java 2)のサブセットに近い仕様だ。JavaVMには,携帯機器などパワーや機能に制限がある環境のために作られた「KVM」が使用されているなど,ネイティブなJava 2環境とは違いがある。Windows上のJava環境でiモードJavaアプリケーションを作るにはその違いを頭に入れておく必要がある。

iモードJava開発の流れ

 iモードJavaアプリケーションを作る作業の流れは次のようになるだろう。

1.何を作るか決める

 他のどんなことよりも,「何を作るか決める」部分がいちばん重要だ。iモードJavaアプリケーションの価値の9割は,構想が決めるといってもいい。

2.コードを書く

 構想に従った動きをするプログラムを設計してJavaコードを書く。使うツールはWindowsのテキストエディタだ。自分が使い慣れたエディタを使って書けばいい。楽なもの(?)である。

3.Javaでコンパイル

 コードを書き終わったら,Javaでコンパイルする。コンパイラは前回ダウンロードしたJDKに入っているのだが,実際にコンパイルするにはNTTドコモオリジナルのiモードJava互換ライブラリが必要だ。また,アプリケーションによってはCLDCの開発キットも必要になる(サンのサイトからダウンロードできる)。

 コードのコンパイルに成功すると,Javaの実行ファイルである「バイトコード」が得られる。

4.Windows上で動作をテスト

 Windows上のJava環境で,先に作成したバイトコードを実行してテストしてみる。このときにもNTTドコモのiモードJava互換ライブラリが必要だ。

 Windows上で自分が作ったアプリケーションが,構想どおりの動きをするかどうか,しっかりとテストしよう。構想と違うとか動きが変となれば,設計をやり直したり,コードを手直しして,やり直すという作業の繰り返しになる。

5.実機でテスト

 Winodws上で大丈夫となれば,いよいよ実機でのテストだ。Windows上で大丈夫だったからといって,実機(503i)で大丈夫とは限らない。

 例えば,Windowsではサクサクと高速に動いたのに,503iでは使い物にならないくらい遅いということがあるかもしれない。503iが搭載しているCPUは,Windowsのそれと比べるとトテツもなく遅いのだ。

 また,A社の携帯では動いたのにB社の携帯では動かないということだって,あり得る。建前上は,すべてのiモードJava環境が実装すべき「ミニマム仕様」に従ったアプリケーションなら,どの携帯でも動くはずなのだが現実は建前とは違うかもしれない。

 Windows上でテストを終えたバイトコードを実機でテストするには,いくつかの作業が必要だ。まず「バイトコードの事前検証」を実行する。Java 2のフルセット環境ではバイトコードを実行しながら検証する「実行時検証」というシステムをとっているのだが,iモードJavaは(CPUパワーが弱いので)検証済みのコードを走らせる約束になっているのだ。事前検証を行うには,Javasoftが配布しているCLDCの開発キットに入っているツールが必要だ。

 事前検証ツールは,そのバイトコードがCLDC仕様に従っているかどうかを主にチェックする。従っていないという結果が出ればコードを書き直す必要があるが,仕様を頭に入れてコードを書いていれば事前検証で跳ねられることは,まずない(と思う)。

 バイトコードが事前検証にパスしたら,次に使用するコードや画像ファイルをまとめた「アーカイブ」(書庫)を作る。503iは,Webを通じてアーカイブをダウンロードする形をとるのだ。アーカイブを作成するツール(jar)はJDKに入っている。

 アーカイブが完成したら,自分のWebページに転送,iモードJavaのダウンロード手続きに必要なファイル(ADF)とHTMLテキストを作成する。Webサーバにアップロードするときに必要な手続きも,この連載で後に詳しく取り上げるつもりだ。

 Webへの登録が済んだら,自分の503iでダウンロードして動かしてみる。思い通りに動けば大成功。動かなかったら,またコードを見直して……の繰り返しになる。

6.公開

 503iでも大丈夫となれば,いよいよ公開だ。iモードページを作って,誰でもダウンロードできるように公開して,適当なところで宣伝すればいい。

 そうこうしているうちに「私の携帯では動きません」といった苦情(?)や,ああしてほしい,こうしてほしいといった要望が寄せられるかもしれない。それに対応するのもアプリケーション作成者の仕事 or 楽しみの1つだろう。

関連記事
▼ドコモ,Java搭載iモード端末503i発表──1月26日発売
iモード対応Javaを作るのに必要なものは?──NTTドコモ,仕様をついに公開
▼制限きついiモード用Java──ドコモ503iでできること,できないこと
▼Java搭載iモードではこんなことができる!──ドワンゴ「サムライ ロマネスク」
▼iモードのJava端末,当初はロースペックで登場

[米田 聡,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!