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