BREW

BREW（ブリューまたはブリュウ、ブルー、Binary Runtime Environment for Wireless）はQualcomm REX OS上で動くCDMA携帯電話向けアプリケーションのプラットフォームである。cdmaOne、CDMA2000の開発元であるクアルコムが開発したもので、同社の登録商標となっている。ネーミングに関してはJavaの「コーヒー」に対して「ビール」の意味も込められている。 BREWとはクアルコムが製造販売している携帯電話用プラットフォームMSMチップセット用に構築・拡張されたアプリケーション実行環境である。コンパイルはクアルコム提供のSDK、Microsoft Visual C++にアドインしたRVCT（ARMコンパイラ）、もしくはgccによって行える。なお、gcc は公式にはサポート外である。 日本では、2016年8月現在、KDDIおよび沖縄セルラー電話のスマートフォンとシャープ製のAQUOS Kシリーズ（SHF31、SHF32等）、京セラ製のGRATINA 4Gシリーズ（KYF31等）、同じく京セラ製のかんたんケータイシリーズ（KYF32等。旧称・簡単ケータイシリーズ）を含む一部のフィーチャーフォンを除く各au携帯電話のほとんどの機種がEZアプリ（BREW）を使用している。2016年9月現在、スマートフォン、およびAQUOS Kシリーズ、GRATINA 4Gシリーズ、かんたんケータイシリーズ、mamorino Watch（ZTF31）以外で使用できない機種には、W11H、W11K、W21H、A101K（簡単ケータイS）、A1405PT、A1406PT、A1407PT、mamorinoシリーズ（KYY01、KYY02、KYY05）全機種、PT001（簡単ケータイS）、Mi-Look（KYY03）等がある。 以下の特徴を持つ。 C/C++でコンパイルされたバイナリ（アプリケーション）を実行する。 アプリケーションをダウンロードし、実行できる。 APIの実装形式にCOMを利用しており、拡張が容易である。 Extensionという機構を利用し、外部ライブラリを利用できる。 メモリ保護機能が無い。 携帯電話による実機での動作テストはBREW ApploaderとよばれるツールでBREWアプリと認証（sigファイル）を転送ケーブルにより携帯電話に転送する。また転送先の携帯電話を転送モードに設定する必要がある。クアルコムにデベロッパー登録を行う事によってこれらのツールを入手出来る。 BREWのExtensionとはダウンローダブルなライブラリのことである。実態としてBREWでは全てのAPIがExtension形式で実装されている。Extensionの実装者はその利用を可能とするため、「特権」を要求する事が出来る。たとえばINetMgrというAPIを利用する為には、利用する側のアプリケーションが「PL_NETWORK」という特権を保持している必要がある。この仕組みによってBREWのアプリケーションは利用可能なExtension（=API）を外部へ示す必要があるため、アプリケーションのサーバへの登録に対して審査を行う事が可能となっている。 BREWは携帯電話会社や携帯電話製造会社にて様々なカスタマイズを施され運用がなされている。KDDIでもカスタマイズされており、運用上の特徴は以下の通りである。 BREW Apploaderの利用、sigファイルの生成、転送モード設定は現在KDDI公式コンテンツプロバイダのみ行うことができる。いわゆる「野良アプリ」「勝手アプリ」と呼ばれる一般ユーザーが作ったアプリの配布および実行は、PC上のエミュレータ上で動かせるまでであり、携帯電話への配布や実行はできない。また、公式コンテンツプロバイダであっても検証合格前のBREWアプリをネットワーク経由で携帯端末にダウンロードすることはできない。そのため、オープンアプリプレイヤーがリリースされるまでは、一般ユーザーはFlash Liteによるコンテンツ作成をする必要があった。 なお、WIN対応機以降は、EZアプリ（BREW・Javaとも）は1アプリケーション当たりで通信できるデータ量が1つのアプリにつき3MBまでという自主規制が、公式コンテンツプロバイダに課されている。また、EZアプリ全体では、携帯電話側で1日6MBの通信制限がある。しかし、初期の頃はこれを知らずに順守しなかったコンテンツプロバイダが存在し、定額制課金に加入していないユーザーが知らぬ間に大量のパケットを消費し、多額のパケット料金を請求されるなどの問題も存在した。 もともとのBREWの仕様としてはそのような制限はなく、KDDIの仕様に基づいたEZアプリ（BREW）が通常利用するネットワーク（BREW.NET）の仕様制限である。従って別の通信を利用するBREWアプリケーション、たとえばKCPやKCP+でBREWアプリケーション化されたEZブラウザやEメールソフトウェアはこのような制限を受けない。 2010年の一部機種では通信制限を撤廃されている機種もある。 2011年春モデルよりEZアプリ（J）の登場によりEZアプリ（B）に名称変更となった。 KDDIは2016年4月28日、対応する3G対応au携帯電話の利用者が減少している（2013年比で約40％減少）ことから、EZアプリ（B）を提供するために必要なクアルコムとのライセンス契約が終了する2018年3月31日を以って、EZアプリ（B）の配信サービスとKDDIが提供する一部アプリのサービスを終了することを発表した。配信サービス終了後も、端末上にあるアプリ（プリインストールならびにダウンロード済）は引き続き実行可能だが、アプリを削除したり端末のリセット（初期化）を行うとプリインストールアプリ以外のアプリは再入手できなくなる。また配信サービス終了によりバージョンアップもできなくなるため、2018年4月以降に仕様変更などが発生した場合、そのアプリは（プリインストールアプリも含め）事実上使用できなくなる。 NTTドコモも2005年8月5日発売のSA700iSで導入された。ただしこれは、ユーザがBREWアプリをダウンロードできるものでも、ドコモとしてBREWを導入するものでもなく、ブラウザやJava VM（iアプリ）、GPSナビゲーションアプリを動作させる基本プラットフォーム的な環境として導入したものである。au向けが主体だった三洋電機（大阪、のちの京セラSANYOブランド）がドコモに参入するにあたって、au端末向けの開発ノウハウを流用する目的もあったと推測される。 下記の機能は、一般的なBREWの仕様に関する記述であり、必ずしも各キャリアやメーカが全ての機能を実装している訳ではない。 BREW 1.0 KDDIおよび沖縄セルラー電話のau携帯電話に採用。初採用された機種はパナソニック モバイルコミュニケーションズ製の端末C3003P。ただしダウンロードして実行する機能は搭載されておらず、純粋に携帯電話内部用のアプリケーション作成に利用された。 BREW 2.0/2.1 BREW Extensionのダウンロードという機能が追加された。ネットワークを通して必要なプログラムが自動的にダウンロードされる機能である。マスコットカプセルエンジン等が該当する。このExtensionにより3D描画が可能となる。 その他主にマルチメディア系APIの充実が図られた。 BREW 3.0 外部メモリからサウンドや写真などのファイルにアクセス可能になり、シリアルポートまたはUSBを使ってパソコンにアクセスする機能が付加された。BREW3.0は世界中で利用されず、Qualcommのヒストリからは削除された。現在はSDKのダウンロードも出来なくなった。 BREW 3.1 BREW 3.0を基本にマルチメディアコンテンツのアクセス機能やバリュー課金と呼ばれるコンテンツ購入機能などが追加された。IAPPHISTORY、IAPPLETCTL等のプラットフォーム向けのAPIが追加された。 BREW 4.0 KDDIおよび沖縄セルラー電話のau携帯電話に世界で初めて採用された。採用機種はau携帯電話向け最新プラットフォーム「KCP+」(KCP2.x)対応端末全機種。マルチウィンドウ対応。au携帯電話には「マルチプレイウィンドウ」として実装され、この機能はのちに「クイックアクセスメニュー」に発展する。 BREW 5.0 KCP3.x、およびその元となったBrew MPに採用されている。2016年9月現在、国内市場向け端末ではau携帯電話のPT003のみに搭載。 EZテレビ GPSMAP EZ-FM EZナビウォーク - 「3Dナビ」対応版を含む。 EZ助手席ナビ 安心ナビ 聴かせて検索 EZ Game Street! - 2010年現在提供終了。 Full Game! - 既存のEZアプリ (BREW) の大容量版にあたるアプリでBREW4.0がベースとなっている。「KCP+」（KCP2.x）以降のプラットフォームに対応した機種がこのアプリに対応する。 live earth EZ Quick SophiaFramework：BREW向けC++クラスライブラリ - BREWアプリケーションをC++プログラミング言語で開発するためのC++クラスライブラリ SophiaCompress(BREW)：BREWアプリ圧縮ツール - BREWアプリケーションのサイズを実行形式のまま圧縮するBREWアプリ圧縮ツール BREW対応RealViewコード生成ツール（RVCT for BREW) - BREW対応のARM搭載プラットフォーム上で動作するアプリケーションの開発ツール