| iアプリの基礎知識 | |
○一般的なiアプリ開発
ふつうはJavaというプログラミング言語を利用して開発します。たとえばこのプログラムリストのようなものになります。これでも一つのiアプリの一部に過ぎません。iアプリ自体がそれほど大きいプログラムとはならないので、パソコン用のアプリケーションにくらべるとずっと量は少ないですが、それでもこういう「プログラム」を、ゼロから書いていくことになります。
書いたプログラムを実機(携帯電話)で実行できる形に変換(翻訳)するためのいくつかの手順を経て、iアプリが完成します。
完成したiアプリは、プログラムを構成する複数のファイル(プログラムそのものであったり、画像や音声ファイルであったり)が一つになって圧縮された「Jar」(ジャー)という形式のファイルになっています。
○iアプリが実行されるまで
完成したiアプリは、もちろん実機で実行させることができますが、PCと携帯電話をケーブルでつないで実機に転送…ということはできない仕様になっています。
このため、まずPC上で作ったiアプリのファイルを、まずiモードからアクセスできるWebサーバに転送します。このとき転送するのは、
・プログラムが格納されているJARファイル
・iアプリの名前や、使用時のパラメータなどが書かれたJAMファイル(ADF)
・iアプリをダウンロードするページとなるHTMLファイル
の3種類です。
HTMLファイルにはiアプリをダウンロードするためのリンクが設置されており、リンク先はJAMファイルになっています。JAMファイルの中に、プログラム本体であるJARファイルの場所が指示されていますので、この情報を元に、実機はJARファイルをダウンロードします。
つまり、iモード上から、このHTMLファイルにアクセスし、「ダウンロード」することでiアプリが実機に転送されます。これが完了してはじめて実機上でiアプリが実行できる状態になります。
※機種によっては、ダウンロード直後にいくつか設定しなければならない項目があります。
○容量の制限
iアプリ開発を困難なものにしている要因の一つとして、厳しい容量制限があります。
最初のiアプリ対応端末である、503i/503isシリーズではプログラム本体やプログラム中で使われる素材ファイルの集合であるJARファイルは、10KBまでとなっています。基本的には、これに収まるようにしなければいけませんが、かなりうまく作らないと画像ファイル1枚だけでも数KBにもなってしまいますので、非常に難しい問題です。
これを緩和するために「スクラッチパッド」と呼ばれるデータ保存領域を利用する方法が多用されています。「スクラッチパッド」は1つのiアプリごとに、最大で10KBまで利用でき、iアプリの中から、ファイルやデータを保存したり、逆にそこからデータを読み込むことができます。
ハイスコアなど、純粋なデータを保存するために使われることもありますが、iアプリ中で利用する素材ファイルをJARには含めず、Webサーバ上のファイルとして置いておき、iアプリの中からWebサーバにアクセスし、それを取得、スクラッチパッドに保存することで、「JAR<=10KB」のカベを超えた量の素材を扱うために使われています。
つまり、JAR 10KB + SP(スクラッチパッド) 10KB のあわせて20KBの容量を利用することができるということです。
この容量の制限は、実機のシリーズごとに異なり、
| 503i/503isシリーズ | JAR 10KB +SP 10KB |
| FOMA | 機種によっては JAR 30KB + SP 10KB |
| 504iシリーズ | JAR 30KB + SP 100KB |
となっています。新しい504iシリーズでは大幅に拡張されていることがわかります。
スクラッチパッドに保存された内容は、iアプリが終了しても消えずに残りますので、ここに保存するためにダウンロードされたファイルは、最初の1回目にダウンロードされるだけです。