本稿は、auとソフトバンクで動作するJavaアプリケーションを作成するための解説を行う記事です。
第1回としまして、iアプリとau・ソフトバンクアプリとの開発環境の違いについて解説してまいります。
プロファイルの違い
まず、iアプリについてですがNTTドコモから提供されているDojaプロファイルを採用しています。
詳しくは「Java初心者による携帯アプリ開発」で解説しておりますのでご参照ください。
次に、auとソフトバンクですがMIDPプロファイルを採用しています。
このMIDPというのは、携帯端末向けに定義されたJava実行環境です。
その内ソフトバンクではMIDPを一部拡張した「MEXA」を利用します。auとソフトバンクに対応する場合はMEXAで拡張した機能は使わないほうがよいです。
その他の端末
今現在ではドコモ機種以外のau・ソフトバンク・WILLCOM・イー・モバイルなどがMIDPの仕様に基づいています。
少し脱線しますが、ここまで紹介した携帯アプリ以外では、iPhoneの「オブジェクティブC」とGoogle携帯の「アンドロイド」があります。こちらは、別の稿で取り上げたいと思います。
クラスの違い
DojaとMIDPは開発言語はどちらもJavaを使用します。
そのJavaの上に携帯端末特有のUIや画面表示・ネイティブアプリケーションを使用する基礎となるクラス群が定義されています。
ですので、アプリ作成時に工夫するとDojaとMIDPをコンバートし易くなります。
起動クラス
MIDPはMIDletでDojaはIApplicationになります。
データの保存
MIDPはレコードストアでDojaはスクラッチパッドにデータを保存します。
低レベルUIクラス
絵画、サイズ取得のメソッドなどを一部を除き共有化できます。
高レベルUIクラス
仕様が異なるため共有化できません。
グラフィックスコンテキスト
変換クラスを作成すれば共有化できます。
画像
画像変換して共有化できます。
キーイベントの処理
プリプロセッサをして共有化できます。
まとめ
かなりの部分を共有化できますが、それでも出来ない部分も多数あります。
また、Dojaにある便利な機能を使って実現したアプリを、MIDPに移植しようとしたところMIDPにはその便利な機能が搭載されていない、ということもあります。
ですので、もし3キャリア対応のアプリを作成するのであれば、Dojaで出来ることMIDPで出来ること、共有化できるとこ、出来ないとこをシッカリ区別する必要があります。