百科解釋
目錄·開(kāi)發(fā)技術(shù)·BREW的優(yōu)點(diǎn)·BREW的缺點(diǎn)·組成·版本 無(wú)線二進(jìn)制執(zhí)行環(huán)境(Binary Runtime Environment for Wireless,簡(jiǎn)稱(chēng)BREW)為2001年美國(guó)高通(Qualcomm)公司所設(shè)計(jì)提出的3G系統(tǒng)最佳平臺(tái)解決方案,可支援CDMA One/CDMA2000/GSM/GPRS/UMTS/WCDMA,技術(shù)上橫跨電信、軟件開(kāi)發(fā)、手機(jī)廠等三大領(lǐng)域,在編程語(yǔ)言支援方面,BREW可讓使用C/C++語(yǔ)言開(kāi)發(fā)的應(yīng)用擁有更好的運(yùn)行效能,同時(shí)它還支援其他開(kāi)發(fā)語(yǔ)言,包括Java、XML和Flash等。目前有美國(guó)Verizon Wireless、中國(guó)聯(lián)通、日本KDDI、韓國(guó)KTF、泰國(guó)Hutchison cat、澳大利亞Telstra、墨西哥Iusacell、印度Tata、巴西VIVO、阿根廷Movicom、以色列Pelephone、委內(nèi)瑞拉的Telcel、烏拉圭的Movicom……等數(shù)十家電信業(yè)者采用。 開(kāi)發(fā)技術(shù) BREW的執(zhí)行環(huán)境稱(chēng)為BREW AEE(Application Execution Environment),這是一個(gè)中間層的應(yīng)用,具有高效、低成本、可擴(kuò)展性。一般所見(jiàn)到的BREW例子都是用C寫(xiě)的,不過(guò)BREW開(kāi)發(fā)是完全支持C++語(yǔ)言的,2003年宣布支援Java語(yǔ)言[1]。2002年7月份于San Diego舉行的BREW開(kāi)發(fā)商大會(huì)上,IBM和Insignia展示了BREW環(huán)境下的JAVA virtual machine(JVM)。HP也將其MicrochaiVM平臺(tái)轉(zhuǎn)向了BREW。IBM將在WebSphere Studio Device Developer產(chǎn)品中提供一個(gè)BREW開(kāi)發(fā)套件。 BREW SDK至今已發(fā)行多套版本,1.0, 1.1, 2.0, 2.1, 3.1,并且向下相容(backward compatible),目前最新的版本為3.14版。SDK是BREW所提供的是一組API函式集合,OEM開(kāi)發(fā)廠商可以利用BREW建立用于無(wú)線裝置(現(xiàn)是無(wú)線電話)的應(yīng)用軟件。 對(duì)手機(jī)領(lǐng)域來(lái)說(shuō),BREW是一種輕型客戶端(thin client),大約占用150K左右的內(nèi)存空間,介于應(yīng)用程式軟件和底層系統(tǒng)軟件(Application Specific Integrated Circuit,ASIC)之間。因此,開(kāi)發(fā)廠商可以于不相關(guān)裝置電路(device&#39;&#39;&#39;&#39;s chipset)或無(wú)線接口(air interface)的情況下,獨(dú)立開(kāi)發(fā)BREW應(yīng)用程式。CDMA(Code Division Multiple Access) chipsets是QUALCOMM公司的專(zhuān)利(specialty),但是BREW一樣可以執(zhí)行在使用其他無(wú)線接口標(biāo)準(zhǔn)的手機(jī)上。 BREW SDK是免費(fèi)提供的,但開(kāi)發(fā)者仍須安裝Microsoft Visual C++ 6.0或其后續(xù)版本Visual C++.NET,方可使用由SDK提供的BREW Simulator來(lái)開(kāi)發(fā)和測(cè)試應(yīng)用程式。BREW Simulator是一支Windows程式,可以類(lèi)比電話上的AEE(Application Execution Environment)。應(yīng)用程式可以DLL的形式執(zhí)行于BREW Simulator中。因?yàn)镈LL只能用于Windows平臺(tái),BREW Simulator可以執(zhí)行這個(gè)DLL。目前市面上的手機(jī)大部分采用ARM kernel,非關(guān)于DLL檔。 BREW的應(yīng)用程式執(zhí)行環(huán)境(AEE)是一個(gè)精巧的軟件接口層。設(shè)備廠商將它集成在各自的軟件中,以支援BREW API和執(zhí)行環(huán)境。在一個(gè)新終端設(shè)備中提供AEE要求設(shè)備廠商只要移植AEE即可。此外,BREW Emulator中提供了一個(gè)AEE的Windows port,所以BREW Emulator可以執(zhí)行針對(duì)Windows的小程式。由于AEE占用的隨機(jī)內(nèi)存和快閃存儲(chǔ)器極小,適用于低端(low end)主流機(jī)型。 除了向應(yīng)用程式提供BREW API服務(wù),AEE同時(shí)管理著應(yīng)用程式的執(zhí)行,及時(shí)回應(yīng)用戶和一些緊急事件,比如說(shuō),一個(gè)正在執(zhí)行的BREW應(yīng)用當(dāng)有來(lái)電呼入時(shí),可以自動(dòng)立即暫停(suspend);并在通話完畢之后,再自動(dòng)恢復(fù)(resume)工作。 在BREW環(huán)境中,Module是基本的組織單位。發(fā)展一個(gè)BREW 應(yīng)用程式可以從三個(gè)部份來(lái)解讀,Module, Applet, 以及Extension。一個(gè)Module可以包含一個(gè)以上的Applet,也可以包含一個(gè)以上的Extension,如下圖所示,Module A擁有一個(gè)Applet A, Applet A再引用Extension X;而Module X僅擁有一個(gè)Extension;至于Module B則擁有兩個(gè)Applets, 以及一個(gè)Extension。有些Module是出廠時(shí)的code space(OEM Module image),也有Module是通過(guò)下載方式(download)儲(chǔ)存于檔案系統(tǒng);這些Module依性質(zhì)可區(qū)分為靜態(tài)(static)和動(dòng)態(tài)(dynamic),主要包括:dynamic Module(Applet),static Module(Applet)和dynamic extension class(Module)。 BREW的優(yōu)點(diǎn) 下列是 BREW 與 J2ME的比較。J2ME 有絕對(duì)的實(shí)力來(lái)對(duì)抗 BREW,從游戲軟件的開(kāi)發(fā)角度來(lái)看,BREW有許多的優(yōu)點(diǎn)。 The BREW API 在支援電話上遠(yuǎn)超過(guò) J2ME API。 API較J2ME簡(jiǎn)潔有力。 圖形戲法更容易, BREW 2.0 可以直接存取屏幕緩沖區(qū)。 J2ME phones 經(jīng)常有二進(jìn)制碼大小的限制 (128KB is common)。BREW目前無(wú)此限制。 BREW是更底層的技術(shù),加上和CDMA 的完美結(jié)合,使BREW擁有了更快的反應(yīng)速度。 BREW 應(yīng)用程式可以是面向?qū)ο蟪淌皆O(shè)計(jì)(Object-oriented programming). 在 J2ME 里過(guò)多的類(lèi)別會(huì)造成檔案大小的負(fù)擔(dān),一般被鼓勵(lì)以C語(yǔ)言的撰寫(xiě)方式。此外,由于非原始狀態(tài)的型別(non-primitive types)使得J2ME 的陣列看起來(lái)更像類(lèi)別(classes). 基于這個(gè)理由,J2ME仍常使用原始型態(tài)(primitive types)的平行陣列。 BREW的缺點(diǎn) 相較于J2ME之下: 在J2ME,來(lái)源碼跟資源默認(rèn)是被壓縮的。而B(niǎo)REW的碼是不被壓縮的。 J2ME 擁有較受歡迎的IDE開(kāi)發(fā)平臺(tái)或元件,如Eclipse 以及 Netbeans,BREW則否,目前僅能Add-in在Visual C++上操作。 目前大多數(shù)的使用者會(huì)選擇二者兼用,或只用J2ME. J2ME 提供較低廉的成本(無(wú)測(cè)試成本)。此外,J2ME 在歐洲廣泛被使用,BREW 雄霸美國(guó)與日本市場(chǎng)。即使在美國(guó),J2ME phones 的市場(chǎng)仍較大。 組成 BREW 模擬器(BREW Emulator):開(kāi)發(fā)人員可以測(cè)試無(wú)線應(yīng)用程式在一系列仿真設(shè)備Windows環(huán)境下運(yùn)行的狀況。 BREW MIF編輯器(BREW MIF Editor):應(yīng)用模組的訊息檔(.mif)必須與該模組的dll文件同名?梢陨梢慌R時(shí)class id ,等到正式完成時(shí)必須向高通申請(qǐng)一正式id。每一個(gè)Module都需要有自我標(biāo)識(shí)的MIF檔,從BREW 3.1開(kāi)始已經(jīng)強(qiáng)制如此,靜態(tài)(static)Module也需要有相應(yīng)的MIF。而在BREW3.1之前,對(duì)于靜態(tài)Module是沒(méi)有單獨(dú)的MIF檔的,但有一個(gè)AEEAppInfo的結(jié)構(gòu)體來(lái)表示Module的資訊,里面主要包括clsid,app type等資訊,每個(gè)靜態(tài)Module都需要有一個(gè)實(shí)例化的AEEAppInfo結(jié)構(gòu)體,BREW從此結(jié)構(gòu)中獲得必要的Module資訊。 BREW資源編輯器(BREW Resource Editor):用于創(chuàng)建應(yīng)用程序的資源,包括字串、圖檔等。編譯時(shí)將bri檔轉(zhuǎn)成bar檔。 版本 BREW 1.0 BREW SDK版本1.0 不支持靜音插入。BREW 1.0 中,當(dāng)剩余使用次數(shù)為0 時(shí),用戶將無(wú)法啟動(dòng)應(yīng)用程式(Applet)。 BREW 1.1 使用 AEESoundTone AEE_TONE_SILENCE 插入一段靜音。BREW 1.0、1.1 和2.0 版本不支持播放WAV 檔。BREW 1.1 以上版本提供的 PureVoice Convertor Utility Tool 可以將 .WAV檔轉(zhuǎn)成 .QCP。 BREW 2.0 不對(duì)應(yīng)使用QVGA液晶的裝置。 BREW 2.1QVGA液晶の端末に??輟%簽`タフォルダやカメラ機(jī)能との連攜も可能になった。</dd> BREW Extensionという機(jī)能が追加された。ネットワークを通して必要なプログラムが自動(dòng)的にダウンロードされる機(jī)能である。例:マスコットカプセルエンジン。このExtensionにより3D描畫(huà)が可能となる。 BREW 3.0 支援可插式儲(chǔ)存媒體(USB),并能讓使用者更容易于將支援BREW的手機(jī)連接到鍵盤(pán)及個(gè)人電腦等裝置的序列接口(Serial Interface),用來(lái)讀取音樂(lè)播放檔或相片檔,可提升移動(dòng)電話的多媒體功能。關(guān)于UI方面全新的BREW UI Toolkit(BUIT, BUIW)推出。 BREW 3.1 目前最新版本。高通于加州圣地牙哥舉行的BREW2004開(kāi)發(fā)者大會(huì)上發(fā)布,新版本提出UiOne的構(gòu)想,擴(kuò)展了對(duì)手機(jī)用戶UI的開(kāi)發(fā)支持,如Menu Control、E-Mail等。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助