ホーム > デベロッパ >BREW とは

BREWとは

BREWとは

読み方:ブリュー、ブルー ( 正式名称: Binary Runtime Environment for Wireless )

BREW とは、2001 年 1 月に QUALCOMM 社が発表した、異なる携帯電話の OS の差を吸収する、 アプリ開発実行環境です。C/C++ 言語によりアプリ開発ができます。アプリ配信と課金システム ( BDS ) も備えています。

2001 年 11 月に韓国の KTF が世界で初めて BREW サービスを開始しました。日本では 2003 年 2 月より KDDI が EZ アプリ( BREW ) という名称で BREW サービスを開始しています。 現在、25 ヶ国以上、 60 以上の通信事業者、60 以上の携帯電話機メーカーが BREW を導入、もしくは採用を決定しています。( 2009 年 3 月 現在)

※2010 年 1 月に 米国 クアルコム社 は Brew Mobile Platform ( Brew MP ) を発表しました。

アプリ開発者は世界中の BREW 携帯電話で使える、メーラー、ブラウザ、電話帳など組込みソフトを開発できます。 端末メーカーは組込みソフトの開発を外部に任せ、ハードそのものの開発に専念できます。キャリアはアプリ配信による新たな収益源が得られます。

BREW は QUALCOMM 社が開発した REX ( Real-Time Executive ) と呼ばれる RTOS ( Real-Time Operating System ) 上のミドルウェアでした。 QUALCOMM 社製チップには、REX と BREW が搭載されてます。そのため、QUALCOMM 社製チップが搭載された携帯電話にはBREW が入っています。実際、NTT ドコモや Vodafone の一部の QUALCOMM 社製チップが搭載された機種には BREW が組込まれています。

CDMA 2000 以外に、W-CDMA / GSM / GPRS / EDGE / HSPDA などの通信方式に対応した BREW 搭載チップも QUALCOMM 社から発表されています。

BREW 4.0 では、ARM11(CPU)/Linux(OS) 上のミドルウェアとして従来のシングルスレッド環境からプリエンプティブなマルチスレッド環境に進化しました。また、国内の BREW 4.0 端末には、BREW アプリ開発のための共通プラットフォーム KCP+ ( KDDI Common Platform + ) が搭載されています。

BDS とは

BREW Distribution System の略称で、BREW アプリケーションを配信し、課金し、管理するシステムです。エクステンションと呼ばれる、BREW を拡張する API 単位でのモジュールの配信や課金も可能となっています。アプリケーションに不具合が発見された場合、携帯電話端末を回収することなく、修正版を無線で更新できます。

BREW の背景と目的

BREW

携帯電話の組込み系アプリ開発には、2 つの課題があります。

ひとつは機種によって OS が異なるため開発効率が低くなること。

もうひとつは、携帯電話のハードの進歩に伴うソフトウェアの肥大化です。

これらの課題をプラットフォームの統一により解決してくれるのが BREW です。現在の BREW の役割はアプリ用プラットフォームです。2006 年以降、組込みソフトも含めて、BREW 携帯電話の全てのソフトは BREW プラットフォーム上で開発される方向です。今後、BREW は単なるAPI というよりも OS な位置付けに変化してゆくでしょう。

BREW は C++ プログラミングもサポートします。C++ のクラスライブラリやフレームワークを利用すると、従来の C をベースにした組込みソフトの開発生産性はより一層向上するでしょう。

BREW の特長

「軽量」

BREW の実行環境は極めて少ないメモリで軽快に動作するように実装されています。その結果、ハイエンドからローエンドまで幅広く、多種多様な携帯電話端末に搭載される可能性を秘めています。

「拡張性」

エクステンション( Extension )の機構により、サードパーティが BREW の API を拡張できます。この仕組みを利用して、携帯電話機能そのものをカスタマイズできます。

「世界標準」

BREW の API 仕様は世界共通です。BREW アプリは、世界の全ての BREW 携帯電話で動作します。

「自在性」

BREW では携帯電話のハードを直接制御できたり、機械語のプログラミングができます。端末のハードをフルに活かした、自在性のあるアプリを開発できます。

「オープン性」

QUALCOMM 社から移植用のソースコードを含むキットが提供されています。携帯電話以外にも、PDA やカーナビ、情報家電など様々な情報機器に BREW を移植できます。

「ネットワーキング」

TCP/IP の通信プロトコルが使えるので、PtoP のネットワークプログラミングが可能です。 Push 型情報配信アプリやインスタントメッセンジャーなどのアプリも開発できます。

BREW の課題と解決策

圧縮

携帯 Java のように BREWアプリは ZIP 圧縮されません。

プロファイラー

BREW アプリ実行時のスピードとメモリに関するデータを自動収集し表示してくれるプロファイラーがありません。

変数

BREW では大域変数(グローバル変数)や静的変数(static変数)が使えません。PDA や PC などの C プログラムを BREW に移植するときに問題となります。

SDK

1 つの PC 内に、BREW SDK のバージョンが複数存在すると、BREW SDK 用の環境変数や拡張子 " .mif " " .bri " " .qsc " は、最後にインストールした BREW SDK のバージョンに関連付けされます。以前にインストールした BREW SDK を使うには、これらを再設定する必要があり煩雑です。

カメラ

BREW SDK にはカメラのエミュレーション機能が搭載されていません。カメラ機能を含む BREW アプリは実機でテストしなければならず、開発効率が低下します。

浮動小数点演算と数学関数

BREW では標準的な浮動小数点演算ができません。double 型以外は使えません。また、利用できる数学関数はほとんどありません。

C++ と GUI

BREW SDK には C++ クラスライブラリと GUI フレームワークがありません。

KDDI の au 携帯電話の BREW 対応状況 ( 2009 年 12 月 現在 )

BREW 4.0
(ARM11, KCP+)
BRAVIAR Phone U1, SH004, T003, SH003, CA004, SA001, CA003, PLY[iida], Mobile Hi-Vision CAM Wooo, E05SH, E06SH, biblio, T002, SH002, Sportio water beat, CA002, G9[iida], S001, P001, T001, H001, SH001, CA001, Premier3, Xmini, W63H, W65T, W63CA, W64SH, W64T, G'zOne W62CA, Woooケータイ W62H, W62SH, W64SA, フルチェンケータイ re(W63S), Sportio(W63T), W62T, W63SA, W61SA, Cyber-shotケータイ W61S, W61T, W54SA, W54S, W56T
BREW 3.1
(ARM9E, REX OS, KCP)
PRISMOID[iida], S002, K003, misora[iida], K002, NS02, NS01, K001, W65K, W62S, W62P, W63Kカメラ無し, URBANO(W63SH), W62PT, W63K, W62K, W62S, W61H, W62SA, W61PT, W61P, W61CA, W61K, W61SH, W55T, W53H, W53K, INFOBAR 2(W55SA), W44K II(カメラなしモデル), W53S, W53CA, ウォークマンケータイ W52S, W53T, W53SA, W54T, W52SH, W52CA, W52P, W52SA, W52H, MEDIA SKIN(W52K), W51SH, W51S, W52T, W51T, W51SA, W51H, W51CA, W51P, W51K, DRAPE(W46T), W47T, W44S, W44K/K II, W43SA, W45T, W44T/T II/T III, W43H, W43S, W43K, W43T, W43CA, W42CA, W42SA, W42H, W42S, W42K, neon(W42T), W41SH, W41K, W41SA, W41T, W41H, W41CA, W41S, W33SA/SAIIW32SAW32HW32SW32TW31T, E03CA, E02SA
BREW 2.1
(ARM9/ARM9E, REX OS)
PENCK(W31H)W31CAW31SW31K/KIIW31SA/SAIIW22SAW22HW21CA/CA IIW21TW21SAW21SW21KG'zOne TYPE-R, Sweets pure(A5519SA), Sweets(A5510SA), talby(A5508SA), A5517T, A5516T, A5514SA, A5512CA, A5511TA5509T, A5507SA, A5506T, A5505SA, A5504T, A5503SA, A5502K, A5501T, A1404S, A1403KA1402S IIA1402S II (カメラなし)A1402S
BREW 2.0
(ARM7, REX OS)
A5405SA, INFOBAR(A5307ST), A5306ST, A5304T, A1304T / A1304T II, A1304T(カメラなし)

関連リンク