《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之56—BREWSDK個版本的區別(下)
版權宣告:本文為半吊子子全棧工匠(wireless_com,同公眾號)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/5728906
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機制) 的內容保護。
相關文章
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之6---移動增值業務概述
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之51—BREWSDK九大功能之安全服務
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之12—BREW裡面有什麼
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之87——面向BREW平臺的移植
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之61-BREW開發商的註冊
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之86——不同品牌BREW手機間的應用移植
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之77——BREW中位置資訊的獲得(LBS應用)
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之34—手機上應用的預安裝
- 《BREW進階與精通——3G移動增值業務的運營、定製與開發》連載之8—Symbian,WindowsMobile,Palm,Linux,J2ME,BREWWindowsLinux
- 軟體定製開發與SaaS的區別
- 高階運營和普通運營的區別
- 3G與全業務運營應高度重視網路資訊保安
- 營業外收入與其他業務收入區別
- 新媒體運營與文案的區別在哪裡?
- 轉載:內連線與外連線的區別
- 剩餘運算子與展開運算子的區別
- 人人都是昏析師:高階運營和普通運營的區別
- 數字化運營與視覺化管理的區別視覺化
- Pocket pc 與 Smartphone 開發的區別
- 自媒體新手常用的3個運營技巧,快速進階,高效運營
- 【轉載】C#之int與Java之Integer的區別C#Java
- 運算子與= 區別
- 從研發與運營角度談遊戲內道具的定價遊戲
- 軟連結與硬連結的區別
- ios 開發中 動態庫 與靜態庫的區別iOS
- MySQL與SQLite的區別及遷移MySqlSQLite
- 離散製造與流程製造的區別
- Python進階:切片的誤區與高階用法Python
- 移動前端開發和 Web 前端開發的區別是什麼?前端Web
- 定製機 合約機和裸機的區別與聯絡
- Git與其他版本控制系統的區別Git
- ln命令:軟連結與硬連結的區別與應用
- 機器學習與移動應用開發的未來機器學習
- hadoop發行版本之間的區別Hadoop
- 前端開發與後端開發的區別是什麼?前端後端
- 開發與研發:區別很大(上)
- bin下的bpl 與 redist下的bpl 區別Redis
- Oracle與OpenJDK之間的區別OracleJDK