携帯の会社どうしの互換性は?
両者はどれぐらい違っているのか? この2つの環境の互換性はどうなっているのでしょうか。
これは、はっきりいえば「プログラムの互換性はない」といえます。そればかりでなく、プログラムリスト(ソースコードと呼ばれます)の段階であっても、かなり違いは大きいといえます。基本的なユーザインターフェイス(ボタンとか入力フィールドといった基本的な部品)のレベルからまるで違うので、例えば「iアプリをS!アプリに移植したい」となると、大幅に書き換えないといけないことになるでしょう。
が、「それじゃあ、MIDPどうしなら互換性はあるのか? S!アプリとEZアプリの互換性は?」というと、これも実は完璧ではありません。どちらも、標準のMIDPという環境の上に、更にそれぞれの会社独自のライブラリなどを追加しているため、完璧な互換性はないのです。――もちろん、DoJaよりははるかに移植は簡単ですが、「S!アプリのプログラムがそのままEZアプリとして動くわけではない」のですね。
更にいってしまえば――同じ携帯会社の中でも、機種によって実は微妙な互換性の問題というのが存在します。例えばiアプリは機種によってDoJaのバージョンが少しずつ違っていますから、指定のバージョンよりも古いものを搭載している機種ではiアプリが動かない、ということになります。また機種ごとに細かなところで微妙に動作が異なるケースもいくつか報告されています。
こうした点を考えると、「完全にすべての機種で動くプログラムを作る」というのは、実はかなり難しいということになります。携帯Javaアプリは、どうも「ミニプログラム」という印象からか「簡単に作れる」という印象を与えている感がありますが、実はそうではありません。
まぁ、勉強にいろいろと作ってみるということなら、そんなに心配することはないでしょう。自分がもっている携帯電話とパソコンがあれば、誰でも作れます。が、「一般に公開するプログラムを作る」ということになると、動作検証用に複数の機種を用意したり、機種ごとの互換性などを細かくチェックしたりと、かなり大変だったりするのです。「どこまでを目標にするか」ということをよく考えておく必要があるでしょう。
携帯Javaはどうやって作る?
では、携帯Javaのプログラムを作るにはどうすればいいのでしょうか。必要なソフトは、どういったものでしょう。作成に必要なものについて整理しましょう。
1.Java SE Development Kit
まず必要になるのは、Java SE(普通のパソコン用Java)の開発環境です。これは、Javaの開発元であるSun Microsystemsが無償で配布しています。一般に「JDK」と呼ばれています。
「携帯電話はJava MEというものじゃないか?」と思ったかもしれませんが、実は、プログラムの作成そのものはパソコン用の「Java SE」で行うことができるのです。ですので、わざわざJava MEの環境を探したりしなくても大丈夫です。(もちろん、あっても困ることはないんですが)
2.携帯会社が配布する開発ツール
実際にプログラムを作成するためのツールは、実は各携帯会社が配布しています。DoCoMoからは「iαppli Development Kit」というものが無償配布されていますし、KDDI/auからは「EZアプリ開発キット」が、またソフトバンクからは「JSCL/MEXA」と呼ばれる開発ツールがそれぞれ無償配布されています。
携帯の会社によっては、この他にソフトウェアが必要な場合もあります。が、基本的にはJavaの開発元であるSun Microsystemsや携帯会社によって無償配布されているものばかりですので、「開発に費用がかかる」という心配はあまりしないでよいでしょう。
DoCoMo配布するiアプリ開発環境。プログラムをビルドするツールとエミュレータからなる。他の会社もそれぞれ同じような環境を用意している。 |
ただし、開発自体はできても、その配布には注意が必要になります。Javaのプログラムは、一般的なフリーウェアなどとは少々異なり、プログラムをきちんと承認してもらわないと配布できなかったり、セキュリティ上の注意が必要な機能を使うためには契約が必要だったりすることもあるからです。
iアプリの場合、「iアプリDX」と呼ばれる形態の機能にアクセス可能なプログラムは契約を結んだコンテンツプロバイダしか作れません(その他の一般のiアプリは誰でも作成し配布可能です)。EZアプリも同様に一部のセキュリティ上の危険が伴う機能を使わないものであれば、自身のサイトで自由に配布できます。S!アプリの場合、コンテンツアグリケータと呼ばれるコンテンツ配布プロバイダに審査をしてもらい公開するようになっています(未審査のものを勝手に配布はできません)。
携帯の会社によって、いわゆる勝手サイトとして自分のサイトで自由に配布できるか、特定の配布プロバイダで公開する必要があるのか違います。まずは、自分が作りたいと思うJavaアプリがどのような配布形態になっているかよく確認をしておきましょう。