2001年の登場以来、iアプリはNTTドコモのサービスの多様化に合わせて機能を追加してきた。その機能は多種多様である。今回は、iアプリがどのようにインストールされ、実行されるかといったライフサイクルと、iアプリの持つ機能を解説する。

iアプリのライフサイクル

 iアプリを携帯電話にインストールする際は、Webサーバーからダウンロードする。インストールされたアプリは、ユーザーの携帯電話の「iアプリリスト」から選択することで起動する。iアプリが起動すると、携帯電話は着信とメール受信やアラームなどの一部のネイティブ機能以外は受け付けなくなる。DoJa-3.5以降の携帯電話のうち「マルチアプリケーション」対応の機種では、iアプリを起動したままで、本体アプリケーション、例えばメーラーに切り替えることができるようになった。

 着信すると、iアプリは一旦中断(サスペンド)される。通話が終わると、携帯電話はiアプリを自動的に再開(リジューム)する()。メール受信はバックグラウンドで実行される。iアプリを終了するには終話キーを押す、あるいはiアプリ内でアプリ終了機能を割り当てた何らかの操作をした際に終了する。iアプリは、携帯電話のメニューあるいはiアプリ自体からアップデートできる機能を備える。使わないiアプリは、iアプリリストからユーザー操作で削除することができる。

iアプリのアーキテクチャー
図●iアプリのライフサイクル

iアプリの基本機能

 iアプリを実行すると、何らかの画面が表示される。ユーザーに何かを見せたり、促したりするために不可欠となる機能である。iアプリには、簡単に画面構成を決めて表示する高レベルUI(ユーザーインタフェース)と呼ぶ機能がある。高レベルUIには、文字列や入力ボックス、チェックボックスなどの部品(ここではコンポーネントと呼ぶ)が用意されている。決定やキャンセルに使うボタン、単一選択・複数選択させるリスト、自動で文字列を横スクロール表示させるティッカー、何かを警告表示するためのポップアップ画面もコンポーネントとして用意されている。

 表示だけでなくユーザーに文字入力をさせるためのコンポーネントもある。文字入力の際に、かな漢字変換をさせる機能を呼び出すこともできる。文字にNTTドコモの絵文字を使用することもできる。

 高レベルUIと対照的に、もっと低レベルで画面を自由に描画したい場合に使う低レベルAPIと呼ばれる機能群も存在する。自由な半面、画面上の配置やイベントのハンドリングもすべて自前で実装する必要がある。

 画面には、文字やUIコンポーネントだけでなく、決まったフォーマットの画像を表示することもできる。画像以外にも動画を再生表示することもできる。画面には表示されないものとして、NTTドコモによって決められたフォーマットのサウンドを再生する機能もある。任意のデータをiアプリの内部に保存する機能も用意されている。

 以下、各機能を見ていこう。