无线二进制运行环境

title: 开发技术.
content: BREW的执行环境称为BREW AEE(Application Execution Environment),这是一个中间层的应用,具有高效、低成本、可扩展性。一般所见到的BREW例子都是用C写的,不过BREW开发是完全支持C++语言的,2003年宣布支援Java语言。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, 4.0.4,并且向下相容(backward compatible),目前最新的版本为4.0.4版。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)。
title: BREW的优点.
content: 下列是 BREW 与 J2ME的比较。brew 有绝对的实力来对抗 j2me,从游戏软件的开发角度来看,BREW有许多的优点。 BREW的开发优势
title: BREW的缺点.
content: 相较于J2ME之下:  目前大多数的使用者会选择二者兼用,或只用J2ME. J2ME 提供较低廉的成本(无测试成本)。此外,J2ME 在欧洲广泛被使用,BREW 雄霸美国与日本市场。即使在美国,J2ME phones 的市场仍较大。

Summary: 无线二进制执行环境(Binary Runtime Environment for Wireless,简称BREW)为2001年美国高通(Qualcomm)公司所设计提出的3G系统最佳平台解决方案,可支援cdmaOne/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......等数十家电信业者采用。

Binary Runtime Environment for Wireless: Binary Runtime Environment for Wireless (Brew MP, Brew, or BREW) is an application development platform created by Qualcomm, originally for code division multiple access (CDMA) mobile phones, featuring third-party applications such as mobile games. It is offered in some feature phones (mostly with the similar specifications of a mid to high-end mobile phones) but not in smartphones. Developed in 1999, as a platform for wireless applications on CDMA-based mobile phones, it debuted in September 2001. As a software platform that can download and run small programs for playing games, sending messages, and sharing photos, the main advantage of Brew MP is that the application developers can easily port their applications among all Brew MP devices by providing a standardized set of application programming interfaces. Software for Brew MP enabled handsets can be developed in C or C++ using the freely downloadable Brew MP software development kit (SDK). The Brew runtime library is part of the wireless device on-chip firmware or operating system to allow programmers to develop applications without needing to code for system interface or understand wireless applications. Brew is described as a pseudo operating system, but not a true mobile operating system. Brew is not a virtual machine such as Java ME, but runs native code.