`

跨平台手机软件开发技术纵览

 
阅读更多

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

开端

 

      当手持电脑刚步入主流的时候,开发者只有一个选择: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将让“一次编写,处处通用”变为现实;届时,跨平台的手机应用软件开发将成为现实。

分享到:
评论
1 楼 jingleyan 2014-10-21  
[b][/b][i][/i][u][/u]
引用
[img][/img][url][/url][flash=200,200][/flash]

相关推荐

    java语言纵览

    Java语言概述 Java语言,诞生于1991年,由美国Sun公司的"绿色工程"小组开发,旨在开拓消费类电子产品市场。其创始人詹姆斯·戈士林(James Gosling)...随着技术的不断进步,Java将继续在软件开发领域扮演重要角色。

    淘宝开发平台 Golang SDK, 集成简单快捷,也可以快速添加本SDK没有集成的接口 .rar

    大部分的集成开发环境都针对一种特点的语言,goland是JetBrains开发的一款针对go语言的跨平台IDE。支持windows、macOS与Ubuntu平台。 因为专注,所以专业,goland为go程序提供了强大的支持。 语法高亮是必不可少的功能...

    Oracle 10g Concepts (Oracle 10g 概念中文手册)——破解版!!

    - 安装Oracle数据库的过程包括选择合适的硬件平台、配置操作系统环境等。 - **14.2 智能基础构造** - 智能基础构造是Oracle提供的自动化管理功能。 - **14.3 性能诊断和故障解决** - 介绍如何使用Oracle提供的...

    哈尔滨工业大学C++进阶编码讲义

    这有助于实现跨平台或跨框架的代码,增强了代码的灵活性和可扩展性。 3. **简单工厂模式与工厂方法模式.ppt** - 这部分将对比并解释这两种工厂模式,简单工厂模式用于静态创建对象,而工厂方法模式通过接口或抽象类...

    A_工作流管理联盟规范接口1(XPDL)中文版.pdf

    该标准旨在促进不同工作流管理系统之间的互操作性,使工作流定义能够在不同的平台和工具之间共享。**XPDL (XML Process Definition Language)** 使用**XML (Extensible Markup Language)** 作为基础语法来定义工作流...

Global site tag (gtag.js) - Google Analytics