当前位置: 首页 > news >正文

《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之56---BREW SDK 个版本的区别(下)...

BREW 4.x 极大的增强了BREW应用的内存保护,所有的BREW应用都可以在一个严格的“沙箱”环境中运行,从而保证一个应用导致的内存崩溃不会影响其他的应用,或者手机的底层软件以及系统软件。基于BREW4.x的应用可以方便的访问文件系统、手机设备以及其他的系统服务。

BREW4.X支持加载ELF文件,这意味着BREW应用可以使用全局变量了(尽管BREW中不推荐使用全局变量)。同时,这也使浮点操作成为可能,而且没有全局数据的扩展类就可以加载到共享的代码空间里,因而可以非常容易地移植其他平台的应用(例如SymbianWindows Mobile上的应用)到BREW的平台上。

BREW 4.x完全改变了以前版本的系统构架(图11-14),是建立在组件服务之上的,组件服务是新增的一层,用来支持进程,线程和模块的加载。

BREW4.x的内核抽象层即组件服务层,将应用框架与操作系统完全隔离开来,具有操作系统的独立性,支持RexLinux等多种嵌入式实时操作系统,为API的移植提供了高度的灵活性。BREW4.x支持模块和执行文件的动态加载,即运行时查询其他服务。

BREW4.x再往后演进就是移动平台BMPBREW Mobile Platform)了。 BMP统一了各种软件技术,形成了单一的开放平台(11-16)。在兼容现存BREW和扩展类的同时,融合了uiOneJ2ME,引进了多窗口技术,Lua, Flash等,丰富了用户接口和移动互联网的集成。

相对于移动互联网设备,BMP是一个开发的操作系统,为运营商,手机厂商和开发商提供免费的SDK。运营商和手机厂商能够灵活地控制和使用源代码,免费的SDK可以自由的下载使用而没有任何限制。BMP支持多种运行环境,为所有支持的技术提供了相应的仿真器,并且增强了开发工具以及面向互联网的web门户。BMP的应用层源代码对开发商是开放的,可以随意修改,定制和扩展应用,并且移动平台是与下载系统独立的。BMP的基础执行环境是跨系统的,手机厂商可以对其自由扩展。

对于用户界面而言,所有的BREW扩展和uiOne全部免费开放给开发商,例如BUIWSQLite数据库服务,True type 字体引擎,TrigMLLuaUI引擎等,并计划使用Eclipse作为开发工具的集成环境。应用可以创建多个窗口,由窗口管理器来控制布局、显示堆栈和表现行为等。BMP允许应用间共享显示区域,支持屏幕间切换的渐变效果,更重要的是,应用可以直接显示在待机屏上。

Flash Lite BMP中的一个优化过的Flash播放器,开发商可以完全使用Flash技术在手机设备上进行开发。LUA是另一个开源的脚本语言,与TrigML集成在一起,能够方便uiOne的开发,当然也可以使用Lua做任何想做的事情。

QVM 是一个基于标准的MIDP / CLDCJ2ME解决方案的BREW实现,是一个硬件加速的多任务虚拟机,支持大多数的JSR-248 MSA 特性(不考虑具体的商务授权)。由于是通过BREW API 实现的,并且与窗口管理器集成在一起,所以能够拥有和手机自身应用一样的性能。

BMP中的数据库服务才开始称得上是真正的数据库服务,是一个基于SQL的数据库实现,支持SQL语句查询并拥有数据同步机制。数据库的服务可以方便的对内容进行查找,排序和索引,内容即可以在本地的文件系统上也可以在外存卡上。BMP开始完善的支持触摸屏技术和POSIX APIPOSIX (Portable Operating System Interface)是由电子和电气工程师协会(Institute of Electrical and Electronic Enginees,IEEE)提出的一系列标准,用于定义一个可移植的操作系统接口。实际上,Linux为什么与UNIX这么相象, 原因之一就在于Linux遵循POSIX标准.

BMP 对内容管理提供了强大的支持,IMedia 开始支持OMA Janus(微软的DRM机制) 的内容保护。

相关文章:

  • 关于eclipse 与 mysql 交互的乱码问题
  • 电脑护眼色?
  • wamp里的数据库修改密码
  • java环境变量配置
  • 编程基础-字符篇-(2)
  • Eclipse提示内存太小,可设置参数
  • We7 CMS 2.8版本正式发布
  • 增强Eclipse(MyEclipse)输入代码提示功能
  • nginx命令
  • myeclipse 插件安装方法
  • 集成轻量级的IIS实现打包Asp.Net网站生成exe方便快捷的进行客户演示
  • 阿里土话------记录职场经典语录
  • 数据结构与算法分析学习笔记(二)--AVL树的算法思路整理
  • ArcGIS Flex API 2.0 离线参考
  • Nor Flash读写方法
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 30秒的PHP代码片段(1)数组 - Array
  • 30天自制操作系统-2
  • ES6 ...操作符
  • HTML5新特性总结
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • SAP云平台里Global Account和Sub Account的关系
  • SegmentFault 2015 Top Rank
  • Spring Boot快速入门(一):Hello Spring Boot
  • 复杂数据处理
  • 开源SQL-on-Hadoop系统一览
  • 利用jquery编写加法运算验证码
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 携程小程序初体验
  • 学习HTTP相关知识笔记
  • 一、python与pycharm的安装
  • 译米田引理
  • 用quicker-worker.js轻松跑一个大数据遍历
  • # Panda3d 碰撞检测系统介绍
  • #前后端分离# 头条发布系统
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (独孤九剑)--文件系统
  • (附源码)计算机毕业设计ssm电影分享网站
  • (南京观海微电子)——I3C协议介绍
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (译) 函数式 JS #1:简介
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转载)利用webkit抓取动态网页和链接
  • ***测试-HTTP方法
  • .cn根服务器被攻击之后
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • [ Linux ] Linux信号概述 信号的产生
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [20190113]四校联考
  • [CSS] - 修正IE6不支持position:fixed的bug
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件