随着3G的应用普及,各 种手机操作系统的推出,各大手机厂商都在拼命的推出自己的新手机,手机价格也是一降再降,用户要求也越来越高,不再停留在能打电话发短息的层次上。作为手 机软件开发公司是机会与挑战并存啊,开发个软件留住点用户问题不大,也许还能小盈利一把,但手机平台这么多,开发商得具备各种人才,这样成本就高了,而且 也很难做到同时快速推向市场,往往开发跟不上市场,导致推广大打折扣。
相比这下,PC软件开发商就省事多了,硬件性能好,操作系统相对少些,差异性也少,跨平台的中间件非常多,更有java虚拟机的支持。
手机软件开发,经历了这几年的发展,大家都在想着快速低成本及时响应市场需求变化,在这样的背景下诞生了跨平台的"中间件"(我们暂且统称为中间件,其实不太准确).我把目前大家使用的跨平台方案大致的分了下类,分成五类方案,仅供参考不做官方说明:
方案名称
|
简述
|
特点
|
性能
|
方案开发难度
|
使用难度
|
使用成本
|
案例
|
动态脚本
|
使用脚本语言进行动态载入或对特定的数据格式进行解析,类似于浏览器工作方式:
wml javascript xml表单 私有数据格式 |
开发快,灵活配置。性能差,表现形式有限
|
30
|
40
|
30
|
40
|
msn/fetion/qq 内置wap浏览器使用服务器把网页转换成wml,客户端进行解析展示。 移动MM使用xml进行界面定义 微软oneapp 使用 java script进行服务武器编写,客户端进行展示和交互 很多电子阅读软件都使用自有的格式在服务器端进行编写,客户端进行展示 |
私有跨平台
|
公司内部使用,进行很"粗略"的封装
|
使用范围受限
|
90
|
120
|
70
|
60
|
不公开的内部引擎,比如Gameloft的游戏引擎 很多公司的UI引擎 针对特殊的领域,比如Poc(按键通话对讲机)引擎 |
抽象中间件
|
有自己的编程标准,完善的文档和规范化的接口
|
学习成本高,使用平台所限,在不损失性能得前提下解决特定的问题
|
85
|
300
|
100~150
|
50
|
Nokia的Qt 沃勤的 mtk中间件 Brew 开发接口 |
虚拟机
|
使用字节码解析执行
|
开发容易,跨平台性好,但性能差,扩展难,维护成本高
|
50
|
有开源方案,自己开发成本很高
|
60
|
60
|
标准的j2me虚拟机 开源的llvm, eve, flash最新版使用llvm 私有的,掌上明珠自己开发了虚拟机用于开发游戏 |
代码转换
|
使用java转换成c代码,再编译执行
|
使用标准j2me接口开发,一份代码,好维护,但目前还没官方公开版
|
84
|
300
|
60
|
70
|
棱镜方案 Fetion 3.0 正在开发的联通应用商店 目前都还是公司内部使用 |
备注:
性能:我们以纯本地代码开发出来的程序性能为100做基数,其他使用相对百分比难度:我们以纯本地代码开发的难度100做基数,其他使用相对百分比棱镜方案 由北京创世互动 总经理 张盛毅 介绍,目前仅在北京创世互动公司内部使用,期待尽快与众多开发者见面