スタティックな BREW アプリとダイナミックな BREW アプリ
BREW アプリには、スタティックなアプリとダイナミックなアプリがあります。
それぞれの違いは以下の通りです。
スタティックな BREW アプリ:
-
OEM ソフトウェアに組み込まれています。
-
削除できませんが、アップグレードは可能です。
ダイナミックな BREW アプリ:
-
OTA 機能でダウンロードする、もしくは端末出荷時にプレロードされています。
-
動的にロードする mod ファイルです。
-
削除やアップグレードが可能です。
BREW とは?
2001 年 1 月に米国クアルコム社が発表した携帯電話向けソフトウェアの規格です。
異なる携帯電話機の OS の仕様差を吸収し、単一のコンパイル後のプログラムをインターネットからダウンロードし、さまざまな携帯電話機で、そのまま高速に動作できるように設計されています。
日本では KDDI が 2003 年 2 月から BREW サービスを提供しています。 2006 年 5 月時点で、世界で 31 ヶ国 69 の通信キャリアが採用するなど、世界的な規模で普及が急速に進んでいます。
なお、BREWは " Binary Runtime Environment for Wireless " の略で、「ブリュー」もしくは「ブルー」と発音します。
BREW と Java の違いは?
BREW は QUALCOMM 社が開発した REX ( Real-Time Executive ) と呼ばれる RTOS ( Real-Time Operating System ) 上のミドルウェアです。
最近では、BREWそのものがOSへと進化を遂げようとしています。一方、Javaは仮想マシン( Virtual Machine )、Java 言語、Java API という、OSに依存しない統合的なソフト環境です。
続きを読む »
BREW で使えるプログラミング言語は何ですか?
特に定められたプログラミング言語はありません。
多くは C 言語(C もしくは C++ )で開発されますが、Java VM が実装されていれば、Java 言語を使うこともできます。
BREW 関連の書籍は ありますか?
出版されている BREW 関連の書籍は以下の通りです。
BDS とは?
BDS とは、" BREW Distribution System " の略称で、BREW アプリケーションを配信し、課金し、管理するシステムです。
エクステンションと呼ばれる、BREW を拡張する API 単位でのモジュールの配信や課金も可能となっています。
アプリケーションに不具合が発見された場合、携帯電話端末を回収することなく、修正版を無線で更新できます。
BREW エクステンション ( BREW Extension ) とは?
BREW エクステンション (以降、エクステンション) とは、Windows のダイナミック リンク ライブラリ (DLL) と同等の機能を持つ「動的にロードされる、複数のアプリケーションから共有可能なライブラリ」のことです。これにより、BREW の機能を拡張することが可能です。
※BREWのモジュールには、アプレットとエクステンションの2種類があります。アプレットとは、いわゆる「アプリケーション」のことです。
以下に、エクステンションの特徴を記載します。
- ダウンロード可能な形態で提供できるため、機能の追加を随時行えます。
- ダウンロードを必要としない形態でも提供できるため、端末に組み込むことも可能です。
- 他のアプリケーションとエクステンションの共有ができるため、 複数のアプリケーションで同じエクステンションを保持する必要がありません。(アプリケーションのサイズが減ります。)
- すでに開発されたエクステンションを使用して開発が行えるため、アプリケーションの開発期間が短縮します。
- モジュール単位での課金が可能であるため、エクステンションのみの販売が可能です。
※『WIRELESS GAME Development in C/C++ with BREW』や『Software Development for the QUALCOMM BREW Platform』などの書籍にも、BREW エクステンションについての記載があります。
BREW ディベロッパーになるには?
BREW ディベロッパーになるには、Qualcomm の認定を受ける必要があります。
認定は、以下のプロセスで行われます。
- VeriSign 社のデジタル公証 (Authentic Document ID) を購入します。
- BREW ISV(独立系 ソフトウェアベンダー)に登録し、BREW ディベロッパー契約を Qualcomm と締結します。この手続きは、Web 上で行われます。
- BREW アプリの検証を行う第三者機関の NSTL (National Software Testing Laboratory) に登録します。
- 各キャリアガイドラインを確認します。キャリアガイドラインは、各キャリアごとに発行しているもので、BREW 展開計画や、契約関係、プライバシーの方針等が記されています。
詳細は、BREW ディベロッパーになるには/認定 をご参照ください。
リソースファイルを作るには?
リソースファイルには、文字列、バイナリ、画像、ダイアログ等が入ります。
これらのデータは、ソースに直接書き込んでも良いのですが、変更する際や、解像度の違う端末用にアプリを作成する場合に不便ですので、リソースファイルを使用する事をおすすめします。
まず、[スタート] から、[BREW SDK Tools 1.0.x1 日本語版] → [BREW リソース エディタ] を選択します。
新しいリソースは、上のメニューバーから [リソース] → [新規文字列] 等で、作成します。入力が終了したら 右下の隅にある [適用] ボタンでリソースを作成します。
リソースを入力し終わったら、上のメニューバーから [作成] → [リソーススクリプトのコンパイル] で、コンパイルを行います。
この際、まず BRX ファイルが中間ファイルとして作成され、その後、BRXファイルと同じフォルダ内に BAR ファイル、BRH ファイルが作成されます。
簡単に説明すると、BRX はリソースの編集用ファイル、BAR ファイルがコンパイルされたリソースファイルで、BRH ファイルは BAR ファイルの為の C 言語 ヘッダーファイルです。
参考入力例
続きを読む »
BREW のマルチタスク環境の特徴は?
BREW のマルチタスクはコオペラティブなシングルスレッド環境下で処理されます。
具体的には、CPU リソースを獲得したタスクは自分自身の処理で他のタスクに CPU リソースを譲ることで、マルチタスクが実現されます。
この方式の致命的な欠点は、 CPU リソースを獲得したタスクが他のタスクにCPU リソースを譲ることを怠れば、電話着信などより優先順位の高い他のタスクに CPU 制御が切り替わらなくなることです。
このため、タスクがある一定以上の時間(1秒程度)、CPUリソースを獲得したままの状態であると、BREW 端末はリセットされるようになっています。
BREW プログラミングでは、あるタスクが BREW からCPUリソースを獲得した場合、短時間で処理を終え、直ぐに BREW に CPU リソースを戻すような設計が重要なポイントとなります。
なお、2007 年以降に出荷予定の BREW 4.0 では、プリエンプティブなマルチスレッド環境となり、この問題は解消される見通しです。
HelloWorld アプリを携帯で動かすまでの流れは?
HelloWorld アプリを携帯で動かすまでの流れについては、下図をご覧ください。
(クリックすると、詳しい解説にジャンプします)
続きを読む »