BREW 4.x 極大的增強(qiáng)了BREW應(yīng)用的內(nèi)存保護(hù),所有的BREW應(yīng)用都可以在一個(gè)嚴(yán)格的“沙箱”環(huán)境中運(yùn)行,從而保證一個(gè)應(yīng)用導(dǎo)致的內(nèi)存崩潰不會(huì)影響其他的應(yīng)用,或者手機(jī)的底層軟件以及系統(tǒng)軟件。基于BREW4.x的應(yīng)用可以方便的訪問(wèn)文件系統(tǒng)、手機(jī)設(shè)備以及其他的系統(tǒng)服務(wù)。
BREW4.X支持加載ELF文件,這意味著B(niǎo)REW應(yīng)用可以使用全局變量了(盡管BREW中不推薦使用全局變量)。同時(shí),這也使浮點(diǎn)操作成為可能,而且沒(méi)有全局?jǐn)?shù)據(jù)的擴(kuò)展類就可以加載到共享的代碼空間里,因而可以非常容易地移植其他平臺(tái)的應(yīng)用(例如Symbian,Windows Mobile上的應(yīng)用)到BREW的平臺(tái)上。
BREW 4.x完全改變了以前版本的系統(tǒng)構(gòu)架(圖11-14),是建立在 “組件服務(wù)”之上的,組件服務(wù)是新增的一層,用來(lái)支持進(jìn)程,線程和模塊的加載。
BREW4.x的內(nèi)核抽象層即組件服務(wù)層,將應(yīng)用框架與操作系統(tǒng)完全隔離開(kāi)來(lái),具有操作系統(tǒng)的獨(dú)立性,支持Rex,Linux等多種嵌入式實(shí)時(shí)操作系統(tǒng),為API的移植提供了高度的靈活性。BREW4.x支持模塊和執(zhí)行文件的動(dòng)態(tài)加載,即運(yùn)行時(shí)查詢其他服務(wù)。
?
?
?
?
BREW4.x再往后演進(jìn)就是移動(dòng)平臺(tái)BMP(BREW Mobile Platform)了。 BMP統(tǒng)一了各種軟件技術(shù),形成了單一的開(kāi)放平臺(tái)(圖11-16)。在兼容現(xiàn)存BREW和擴(kuò)展類的同時(shí),融合了uiOne和J2ME,引進(jìn)了多窗口技術(shù),Lua, Flash等,豐富了用戶接口和移動(dòng)互聯(lián)網(wǎng)的集成。
相對(duì)于移動(dòng)互聯(lián)網(wǎng)設(shè)備,BMP是一個(gè)開(kāi)發(fā)的操作系統(tǒng),為運(yùn)營(yíng)商,手機(jī)廠商和開(kāi)發(fā)商提供免費(fèi)的SDK。運(yùn)營(yíng)商和手機(jī)廠商能夠靈活地控制和使用源代碼,免費(fèi)的SDK可以自由的下載使用而沒(méi)有任何限制。BMP支持多種運(yùn)行環(huán)境,為所有支持的技術(shù)提供了相應(yīng)的仿真器,并且增強(qiáng)了開(kāi)發(fā)工具以及面向互聯(lián)網(wǎng)的web門(mén)戶。BMP的應(yīng)用層源代碼對(duì)開(kāi)發(fā)商是開(kāi)放的,可以隨意修改,定制和擴(kuò)展應(yīng)用,并且移動(dòng)平臺(tái)是與下載系統(tǒng)獨(dú)立的。BMP的基礎(chǔ)執(zhí)行環(huán)境是跨系統(tǒng)的,手機(jī)廠商可以對(duì)其自由擴(kuò)展。
?
對(duì)于用戶界面而言,所有的BREW擴(kuò)展和uiOne全部免費(fèi)開(kāi)放給開(kāi)發(fā)商,例如BUIW,SQLite數(shù)據(jù)庫(kù)服務(wù),True type 字體引擎,TrigML與Lua的UI引擎等,并計(jì)劃使用Eclipse作為開(kāi)發(fā)工具的集成環(huán)境。應(yīng)用可以創(chuàng)建多個(gè)窗口,由窗口管理器來(lái)控制布局、顯示堆棧和表現(xiàn)行為等。BMP允許應(yīng)用間共享顯示區(qū)域,支持屏幕間切換的漸變效果,更重要的是,應(yīng)用可以直接顯示在待機(jī)屏上。
Flash Lite 是BMP中的一個(gè)優(yōu)化過(guò)的Flash播放器,開(kāi)發(fā)商可以完全使用Flash技術(shù)在手機(jī)設(shè)備上進(jìn)行開(kāi)發(fā)。LUA是另一個(gè)開(kāi)源的腳本語(yǔ)言,與TrigML集成在一起,能夠方便uiOne的開(kāi)發(fā),當(dāng)然也可以使用Lua做任何想做的事情。
QVM 是一個(gè)基于標(biāo)準(zhǔn)的MIDP / CLDC的J2ME解決方案的BREW實(shí)現(xiàn),是一個(gè)硬件加速的多任務(wù)虛擬機(jī),支持大多數(shù)的JSR-248 MSA 特性(不考慮具體的商務(wù)授權(quán))。由于是通過(guò)BREW API 實(shí)現(xiàn)的,并且與窗口管理器集成在一起,所以能夠擁有和手機(jī)自身應(yīng)用一樣的性能。
??????????? BMP中的數(shù)據(jù)庫(kù)服務(wù)才開(kāi)始稱得上是真正的數(shù)據(jù)庫(kù)服務(wù),是一個(gè)基于SQL的數(shù)據(jù)庫(kù)實(shí)現(xiàn),支持SQL語(yǔ)句查詢并擁有數(shù)據(jù)同步機(jī)制。數(shù)據(jù)庫(kù)的服務(wù)可以方便的對(duì)內(nèi)容進(jìn)行查找,排序和索引,內(nèi)容即可以在本地的文件系統(tǒng)上也可以在外存卡上。BMP開(kāi)始完善的支持觸摸屏技術(shù)和POSIX API。POSIX (Portable Operating System Interface)是由電子和電氣工程師協(xié)會(huì)(Institute of Electrical and Electronic Enginees,IEEE)提出的一系列標(biāo)準(zhǔn),用于定義一個(gè)可移植的操作系統(tǒng)接口。實(shí)際上,Linux為什么與UNIX這么相象, 原因之一就在于Linux遵循POSIX標(biāo)準(zhǔn).
?? BMP 對(duì)內(nèi)容管理提供了強(qiáng)大的支持,IMedia 開(kāi)始支持OMA 和Janus(微軟的DRM機(jī)制) 的內(nèi)容保護(hù)。
?
?