首页>
知识库>
详情

手机跨平台方案介绍

2020-07-31 来源:CloudBest 阅读量: 0
关键词:

    引述
    现在手机平台种类繁多,主流平台有Symbian、IOS、Android、WM6.5、WP7以及中国山寨机所普遍使用的MTK,展讯, MSTAR。
    作为开发者来说,特别是学生,要做一款软件支持如上平台,实在是一件遥不可及的事情。
    不同种类的应用,成功的条件是不同的。有些应用是以质取胜的,有些应用则在质的同时必须要有足够的用户群(如LBS应用相关),也就是量的优势。因此,不同应用对于多平台支持的需求是有差异的,这也是本文探讨如何跨平台开发的价值所在。
    跨平台开发有许多种方式,在文献中可查到有下列方式。

方案名称

简述

特点

性能

方案开发难度

使用难度

使用成本

案例

动态脚本

使用脚本语言进行动态载入或对特定的数据格式进行解析,类似于浏览器工作方式:

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做基数,其他使用相对百分比。
    棱镜方案由北京创世互动总经理张盛毅介绍,目前仅在北京创世互动公司内部使用,期待尽快与众多开发者见面。
    (1)
    我们可以看到,使用动态脚本、虚拟机及代码转换等方式是比较廉价的跨平台开发方式。接下来本文将会介绍几种跨平台方式下进行跨平台开发的方案。
    动态脚本
    现在比较火的使用动态脚本的跨平台开发方案大部分是即基于HTML5的。事实上即对传统浏览器的一种扩展,提供了离线浏览功能、对本地设备的访问功能等。但由于大部分编码是使用脚本语言,因此性能较低。如果做图片处理等应用,则缺少相应成熟库支持。
    RhoMobile - one codebase, every smartphone