ホーム > デベロッパ > BREW と携帯 Java − 携帯 Java & BREW 技術情報−

BREW と携帯 Java

BREW と携帯 Java − 携帯 Java & BREW 技術情報−

はじめに

2001 年、NTT ドコモの i アプリと呼ばれる携帯 Java アプリのサービスが始まりました。2003 年には、KDDI が EZ アプリ( BREW ) と呼ばれる QUALCOMM の BREW アプリのサービスを開始しました。

最近では、IP 電話、ワンセグ、メディアプレイヤーなどの機能も携帯電話で使えるようになりました。それと共に、携帯電話ソフトは大規模・複雑化し、開発工数の増大が最も重要な問題になっています。

解決策のひとつとして、携帯電話業界では BREW や携帯 Java などのオープンなオブジェクト指向アプリケーションプラットフォームの採用が急拡大しています。

組込みソフトと BREW / 携帯 Java

ハードウェアを制御するソフトのことを組込みソフトと呼びます。携帯電話の場合、ハードウェアとして液晶画面や音声回路、電波送受信回路などが挙げられます。

組込みソフトは、アセンブラや C 言語でプログラミングされ、様々なチップや電子部品を制御します。

携帯電話向けソフトは、ハードウェアに依存するレイヤー ( オペレーティングシステム層 ) とハードウェアとは独立したレイヤー ( アプリケーション層 ) に分けることで、ソフトの全体的な構造がシンプルになります。

BREW や携帯 Java は、アプリケーション層のオブジェクト指向ソフトウェアプラットフォームです。

組込みソフトBREW / Java アプリ
プログラミング言語アセンブラ / C C/C++, Java
データ構造低レベル高レベル
ハードウェアとの関係依存独立
リアルタイム処理必要不要

BREW と携帯 Java

BREW と携帯 Java の主な特徴を表にまとめます。

BREW携帯 Java
動作環境AEE
( Application Execution
Environment )
JavaVM
( Java Virtual Machine )
OSREXOS に依存しない
APIBREW APIJava API
プログラミング言語C/C++Java 言語
起動速度速い遅い
実行速度速い遅い
メモリ管理プログラマが管理するガーベージコレクションによる自動管理
文字列処理プログラマが実装する文字列クラスが提供される
データ管理プログラマが実装するコレクションクラスが提供される
スレッド ※1コオペラティブ / シングルスレッドプリエンプティブ / マルチスレッド
ネットワーク通信非同期通信同期通信
イベントハンドリングプログラマが実装する自動
プログラム署名必要不要
セキュリティQUALCOMM 社やキャリアによる検証sandbox により安全性を確保
通信 ※2TCP/IP・UDP, HTTP/HTTPS,
FTP, POP/SMTP
HTTP/HTTPS のみ
GUI無しUI コンポーネントが提供される
アプリ圧縮無しJAR 圧縮
プロファイラ無しSDK に付属

※1 Java では、ネットワーク通信処理はデータの最後まで単純に while 文のループを繰り返すという単純なプログラミングで済みます。 しかし、BREW では 1 つのスレッドを BREW 環境とアプリで共有することになるので、ネットワーク通信処理はコールバックを用いた複雑なプログラミングになります。

※ 2 POP/SMTP は、SophiaFramework などのミドルウェア製品などで利用可能です。