BREW

目录·开发技术
·BREW的优点
·BREW的缺点
·组成
·版本



无线二进制执行环境(Binary Runtime Environment for Wireless,简称BREW)为2001年美国高通(Qualcomm)公司所设计提出的3G系统最佳平台解决方案,可支援CDMA One/CDMA2000/GSM/GPRS/UMTS/WCDMA,技术上横跨电信、软件开发、手机厂等三大领域,在编程语言支援方面,BREW可让使用C/C++语言开发的应用拥有更好的运行效能,同时它还支援其他开发语言,包括Java、XML和Flash等。目前有美国Verizon Wireless、中国联通、日本KDDI、韩国KTF、泰国Hutchison cat、澳大利亚Telstra、墨西哥Iusacell、印度Tata、巴西VIVO、阿根廷Movicom、以色列Pelephone、委内瑞拉的Telcel、乌拉圭的Movicom……等数十家电信业者采用。



开发技术

BREW的执行环境称为BREW AEE(Application Execution Environment),这是一个中间层的应用,具有高效、低成本、可扩展性。一般所见到的BREW例子都是用C写的,不过BREW开发是完全支持C++语言的,2003年宣布支援Java语言[1]。2002年7月份于San Diego举行的BREW开发商大会上,IBM和Insignia展示了BREW环境下的JAVA virtual machine(JVM)。HP也将其MicrochaiVM平台转向了BREW。IBM将在WebSphere Studio Device Developer产品中提供一个BREW开发套件。
BREW SDK至今已发行多套版本,1.0, 1.1, 2.0, 2.1, 3.1,并且向下相容(backward compatible),目前最新的版本为3.14版。SDK是BREW所提供的是一组API函式集合,OEM开发厂商可以利用BREW建立用于无线装置(现是无线电话)的应用软件。
对手机领域来说,BREW是一种轻型客户端(thin client),大约占用150K左右的内存空间,介于应用程式软件和底层系统软件(Application Specific Integrated Circuit,ASIC)之间。因此,开发厂商可以于不相关装置电路(device''''s chipset)或无线接口(air interface)的情况下,独立开发BREW应用程式。CDMA(Code Division Multiple Access) chipsets是QUALCOMM公司的专利(specialty),但是BREW一样可以执行在使用其他无线接口标准的手机上。
BREW SDK是免费提供的,但开发者仍须安装Microsoft Visual C++ 6.0或其后续版本Visual C++.NET,方可使用由SDK提供的BREW Simulator来开发和测试应用程式。BREW Simulator是一支Windows程式,可以类比电话上的AEE(Application Execution Environment)。应用程式可以DLL的形式执行于BREW Simulator中。因为DLL只能用于Windows平台,BREW Simulator可以执行这个DLL。目前市面上的手机大部分采用ARM kernel,非关于DLL档。
BREW的应用程式执行环境(AEE)是一个精巧的软件接口层。设备厂商将它集成在各自的软件中,以支援BREW API和执行环境。在一个新终端设备中提供AEE要求设备厂商只要移植AEE即可。此外,BREW Emulator中提供了一个AEE的Windows port,所以BREW Emulator可以执行针对Windows的小程式。由于AEE占用的随机内存和快闪存储器极小,适用于低端(low end)主流机型。
除了向应用程式提供BREW API服务,AEE同时管理著应用程式的执行,及时回应用户和一些紧急事件,比如说,一个正在执行的BREW应用当有来电呼入时,可以自动立即暂停(suspend);并在通话完毕之后,再自动恢复(resume)工作。
在BREW环境中,Module是基本的组织单位。发展一个BREW 应用程式可以从三个部份来解读,Module, Applet, 以及Extension。一个Module可以包含一个以上的Applet,也可以包含一个以上的Extension,如下图所示,Module A拥有一个Applet A, Applet A再引用Extension X;而Module X仅拥有一个Extension;至于Module B则拥有两个Applets, 以及一个Extension。有些Module是出厂时的code space(OEM Module image),也有Module是通过下载方式(download)储存于档案系统;这些Module依性质可区分为静态(static)和动态(dynamic),主要包括:dynamic Module(Applet),static Module(Applet)和dynamic extension class(Module)。

BREW的优点

下列是 BREW 与 J2ME的比较。J2ME 有绝对的实力来对抗 BREW,从游戏软件的开发角度来看,BREW有许多的优点。

The BREW API 在支援电话上远超过 J2ME API。
API较J2ME简洁有力。
图形戏法更容易, BREW 2.0 可以直接存取屏幕缓冲区。
J2ME phones 经常有二进制码大小的限制 (128KB is common)。BREW目前无此限制。
BREW是更底层的技术,加上和CDMA 的完美结合,使BREW拥有了更快的反应速度。
BREW 应用程式可以是面向对象程式设计(Object-oriented programming). 在 J2ME 里过多的类别会造成档案大小的负担,一般被鼓励以C语言的撰写方式。此外,由于非原始状态的型别(non-primitive types)使得J2ME 的阵列看起来更像类别(classes). 基于这个理由,J2ME仍常使用原始型态(primitive types)的平行阵列。


BREW的缺点

相较于J2ME之下:

在J2ME,来源码跟资源默认是被压缩的。而BREW的码是不被压缩的。
J2ME 拥有较受欢迎的IDE开发平台或元件,如Eclipse 以及 Netbeans,BREW则否,目前仅能Add-in在Visual C++上操作。

目前大多数的使用者会选择二者兼用,或只用J2ME. J2ME 提供较低廉的成本(无测试成本)。此外,J2ME 在欧洲广泛被使用,BREW 雄霸美国与日本市场。即使在美国,J2ME phones 的市场仍较大。

组成


BREW 模拟器(BREW Emulator):开发人员可以测试无线应用程式在一系列仿真设备Windows环境下运行的状况。
BREW MIF编辑器(BREW MIF Editor):应用模组的讯息档(.mif)必须与该模组的dll文件同名。可以生成一临时class id ,等到正式完成时必须向高通申请一正式id。每一个Module都需要有自我标识的MIF档,从BREW 3.1开始已经强制如此,静态(static)Module也需要有相应的MIF。而在BREW3.1之前,对于静态Module是没有单独的MIF档的,但有一个AEEAppInfo的结构体来表示Module的资讯,里面主要包括clsid,app type等资讯,每个静态Module都需要有一个实例化的AEEAppInfo结构体,BREW从此结构中获得必要的Module资讯。
BREW资源编辑器(BREW Resource Editor):用于创建应用程序的资源,包括字串、图档等。编译时将bri档转成bar档。


版本

BREW 1.0
BREW SDK版本1.0 不支持静音插入。BREW 1.0 中,当剩余使用次数为0 时,用户将无法启动应用程式(Applet)。
BREW 1.1
使用 AEESoundTone AEE_TONE_SILENCE 插入一段静音。BREW 1.0、1.1 和2.0 版本不支持播放WAV 档。BREW 1.1 以上版本提供的 PureVoice Convertor Utility Tool 可以将 .WAV档转成 .QCP。
BREW 2.0
不对应使用QVGA液晶的装置。
BREW 2.1QVGA液晶の端末に対応。データフォルダやカメラ机能との连携も可能になった。</dd>
BREW Extensionという机能が追加された。ネットワークを通して必要なプログラムが自动的にダウンロードされる机能である。例:マスコットカプセルエンジン。このExtensionにより3D描画が可能となる。
BREW 3.0
支援可插式储存媒体(USB),并能让使用者更容易于将支援BREW的手机连接到键盘及个人电脑等装置的序列接口(Serial Interface),用来读取音乐播放档或相片档,可提升移动电话的多媒体功能。关于UI方面全新的BREW UI Toolkit(BUIT, BUIW)推出。
BREW 3.1
目前最新版本。高通于加州圣地牙哥举行的BREW2004开发者大会上发布,新版本提出UiOne的构想,扩展了对手机用户UI的开发支持,如Menu Control、E-Mail等。









相关词条:
深入BREW手机游戏开发  
 
自定义分类:
移动通讯标准
 
贡献者:
家园管理员狂风暴雨飞一般的人
Copyright © 1999-2022 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4