社区编辑申请
注册/登录
跨平台手机软件开发技术纵览
移动开发
在手机应用软件开发方面,开发者不得不在不同的手机操作系统中做出艰难的选择,为不同的手机平台单独开发软件。有哪些技术可以解决跨平台手机软件开发的问题?

随着苹果手机应用商店的成功,中移动、电信和联通也纷纷推出自己的手机应用商城,51CTO曾多次报道《中国三大电信运营商转战“软件商店”》的消息。可以说,进行手机应用软件开发已成为一个潮流。但有一个问题一直困扰着广大开发人员:作为一名开发者,开发支持多个手机平台(没有一个绝对领先者、需要漫长的学习过程)的软件需要高昂的成本。终于,这一问题有望得到解决。

开端

#T#当手持电脑刚步入主流的时候,开发者只有一个选择:Palm Pilot。仅仅过了五年,他们又不得不考虑塞班和Pocket PC (亦即后来的Windows Mobile)。截至2009年,已经至少有八个智能手机平台:两个Windows Mobile版本,两个黑莓版本, iPhone,Android,塞班,和webOS,更别提那些运行Java程序的传统功能手机。

影响

开发者不得不在操作系统中做出艰难的选择。更要命的是用户越来越分散,呼吁不同版本的软件,没有一个操作系统绝对领先。直到几个月前,他们还只有一个选择:为不同的手机平台单独开发软件,选择支持哪些平台,花费巨额费用,而得到的回报是一个未知数。

但是,这一问题正在发生变化。开发者有三个办法可以实现跨平台开发。技术虽然尚不成熟,但进展会很快。

HTML 5和手机网

***个选择就是开发手机网页版软件。可以访问本地数据库的HTML 5让这一点成为可能。目前的问题有两个:***,HTML 5的普及性;第二,用户是否愿意把HTML 5当成一种标准。***个问题可以通过时间和来自其它操作系统平台的压力得以解决,而第二个问题是个大问题,用户接受网页版软件需要一个心理变化过程。

Flash

Adobe最近宣布进军移动领域,推出了支持大部分平台的Flash浏览器,以及一个“Flash到iPhone软件”编译器。这样,开发者只需在flash里编写所有软件,然后通过编译软件在多种手机浏览器上部署就可以了。

这也面临着HTML 5的问题,因为用户接受在浏览器内运行软件需要一个适应过程。此外,苹果反对在浏览器中使用Flash的强硬立场也是一个巨大障碍,因为需要两个完全不同的创建过程。

要想Flash得到普及,操作系统厂家不得不对网页版软件和非网页版软件一视同仁。

JavaScript和本地软件

有一类新的软件正在崛起,这些本地软件针对特定平台汇编,但使用用户界面的网页技术。这种方法潜力***。***的要算PhoneGap。其它同类软件还包括Appcelerator和Rhomobile(使用Ruby on Rails网页语言)。

这些开源技术都允许开发者使用本地代码编写后台过程,然后利用HTML,CSS和JavaScript开发用户界面,然后把该软件编译成本地软件,然后上传到软件商店,通过下载安装进行发布。

但是手机开发的***问题不是后端。所有平台的骨干部分都基于C或Java,问题在于开发用户界面需要深入了解各种手机。跨平台界面开发技术解决了大部分此类问题。该技术的唯一不足就是跨平台软件看上去不那么“本地化”,需要高超的设计和CSS技巧。

结论

随着智能手机行业的不断发展,我们很难看到一个绝对领先者(不同于PC领域),因而,开发者不得不针对多种平台开发软件。但是,现在有了跨平台开发技术,开发者可以大大降低开发成本,缩短学习过程。

这些技术目前处于早期阶段,但这是大势所趋。Flash,HTML 5和JavaScript将让“一次编写,处处通用”变为现实;届时,跨平台的手机应用软件开发将成为现实。

 

责任编辑:佚名 来源: 读写网
相关推荐

2022-05-06 15:38:21

鸿蒙App开发技术

2011-06-14 10:05:41

UDEAndroidJ2ME(K-Java

2016-05-16 09:32:04

2013-05-27 09:47:33

Java开发Java跨平台

2010-11-11 09:04:05

跨平台移动开发

2020-02-03 09:30:42

开发技能代码

2022-03-05 17:56:29

桌面应用开发

2011-07-06 11:16:32

2020-03-23 13:16:05

前端跨平台开发

2015-01-06 13:42:45

2019-11-26 08:43:44

平台桌面软件

2012-01-12 14:16:23

2018-05-28 08:36:31

移动开发机器学习GraphQL

2011-06-28 10:29:15

QT 桌面 程序

2009-08-17 09:11:53

2014-03-28 16:03:03

2015-05-27 11:25:38

2017-02-14 09:47:55

2013-04-18 11:01:10

2020-04-17 18:00:01

软件人工智能Python

同话题下的热门内容

大反转,iOS15.6比iOS14.8优化更好,续航提升很满意,推荐升级佩洛西窜台,苹果躺枪?iPhone14或延迟发布抖音 iOS 推荐 Feed 容器化总结携程小程序生态之Taro跨端解决方案注意!iOS 15.4.1 还剩余 七 天,你会选择升级吗?iOS16新测试版发布,消失5年的功能回归马化腾:为什么你们不在乎QQ等级,不用QQ了吗?使用 Swift Package 插件生成代码

编辑推荐

2017年9月编程语言排行榜:Java、C与C++三巨头还能统治排行榜多久?初学者最容易学的六种编程语言CVPR 2017论文解读:特征金字塔网络FPN手把手教你搭建PHP版RabbitMQ消息队列开发环境及Demo实践微信小程序“反编译”实战(一):解包
我收藏的内容
点赞
收藏

51CTO技术栈公众号