移动开发策略的选择

翻译自Esri资源中心博客文章Choosinga mobile development strategy

ChrisMahlke2013319日发布

  

    对于移动开发策略的选择来说,有很多关键因素需要考虑:开发团队的技术路线、应用的功能需求以及后期应用维护的成本等等。与桌面技术相比,移动技术出现时间较短,仍然处于快速发展阶段。本文主要讨论一下针对不同类型移动应用的三种方式:Web方式、混合方式和原生方式。

    Esri提供的API可以在不同的方式下使用。ArcGIS API for JavaScript可以在Web方式和混合方式下使用,ArcGIS Runtime SDKs可以在原生方式下使用。不同的API最终都提供了相同的核心功能,比如对Web地图的操作、访问ArcGIS Online、执行不同的Task(查询、定位、识别等)、对图层的操作、几何对象的操作以及用户绘制图形等。

1、Web方式

    在移动设备上通过Web开发的移动应用只能通过移动设备上的浏览器进行访问。Web开发最大的优势就是跨平台,能够让你的应用传播给众多的移动用户。利用Web开发的应用代码书写要遵循Web应用开发语言标准,这使得最终用户可以在不同设备、不同操作系统上获得相似的用户体验。Web开发还可以让你的开发团队在问题处理和修改方面更加灵活,与在应用商店上更新IOS应用或者在Google市场上更新Android应用相比,通过Web更新移动应用是非常简便的。

    尽管Web开发在移动应用开发方面有巨大的潜力,但是目前它仍有较多的限制。比如说大部分开发者都觉得在浏览器上能够实现原生应用的用户界面和用户体验,并且能够解决跨浏览器的兼容性问题已经是一个挑战。其实,目前已经有很多第三方工具或者框架为开发者提供了解决方案,比如说Dojo MobilejQuery MobileZurb FoundationLess Framework 4ResponsiveJS等。不过Web开发的应用不能访问移动设备的全部软硬件资源,例如不能访问通讯录,也不能在非Webkit内核的浏览器上进行消息通知,这是一个限制。如果采用下节要讲的混合方式开发应用的话,就可以解决这些问题。

如果你开发的应用是面向所有的移动用户而不是其中的某一部分,那么采用Web开发应用是一个明智的选择。如果开发和维护的费用比较有限,基于Web开发也是比较理想的方法。Web开发技术应用更加广泛,大部分开发团队都会有相应的经验丰富的Web应用开发人员,这也是Web开发方法应用在移动开发的优势之一。

2、混合方式

    混合型应用依然采用Web开发模式进行开发,然后将应用程序作为原生应用进行打包部署。混合型应用的本质就是利用原生命令封装的Web应用。开发混合型应用除了要了解Web开发技术外,还需要了解针对移动设备部分硬件进行开发的技术。目前比较流行的混合型应用框架包括:PhoneGapSencha TouchAppcelerator Titanium

    需要说明的是,混合型应用也仍然需要通过支持的平台进行编译和部署。比如说,如果你要把你的应用部署到苹果公司的App Store里,那你需要使用XCode编译你的应用并按照苹果公司的规定上传审核应用。如果你的应用是面向Android系统的,那么你需要通过EclipseAndroidSDK编译你的应用并将它部署到GoogleMarket Place中。当然了,AdobePhoneGap Build system与众不同,它允许开发者将代码上传到云端服务中并且使用最新版本的PhoneGap SDK编译开发者应用。

如果你的应用需要使用一些系统原生的功能,比如说设备的地址簿或者文件系统,那么最好使用混合型应用方式,但是应用在多平台支持、长期的维护和应用升级方面要求就更高了。

        EsriArcGIS API for JavaScript可以用来建立混合型应用。开发混合型应用的流程和开发Web应用的流程是一致的,你需要导入Esri JS API的压缩包和一些必须的包(DojojQuery等)到工程中。在混合型应用中,你仍然可以使用CSS文件来订制应用UI的样式。如果要对混合型应用进行测试,则需要有模拟器环境或者部署到真实设备上进行测试了。

3、原生方式

    原生应用是可以安装到移动设备上的二进制可执行程序。由于不同的移动设备对应不同的移动操作系统,不同的操作系统提供了不同的SDK,所以原生应用开发必须使用指定的平台相应的开发语言开发,并按照平台要求的应用部署方式进行部署。

原生开发方式在性能方面和对移动底层设备的支持方面都是最优的,但是原生开发方式的应用代码量巨大、不够灵活是他的缺点。针对某一个移动操作系统的代码无法重用到另一个操作系统的开发中,这对开发团队需要掌握的开发技术范围也提出了较高的要求,他们需要掌握不同的编程语言,不同的SDKEsri IOSAndroidWindows SDK)并需要管理很多的代码库。这使得开发和维护成本非常的高昂。

    原生开发方式比较适合用于对系统原生功能依赖强,对UI要求非常严格,或者开发的应用只针对某一个移动平台的用户的开发场景。比如说,开发一个针对员工的内部应用,员工会使用指定的移动设备(比如iPhone)的时候就可以采用原生开发方式。

下面的表格总结了这三种开发方式的优势和限制,可以在你选择应用开发适合的开发策略时提供帮助。

    没有这么一个单独的开发方式可以在各个方面都是最好的,只能根据特定的场景选择最适合的方式,对于开发方式的选择有很多的影响因素,包括资金、开发团队的技术结构、开发周期、应用功能需求、目标人群、应用的维护等。另外,开发方式的选择还应该考虑在移动领域内的开发技术的发展趋势。

    一个灵活的移动开发解决方案应该能够整合移动市场、支持跨平台并且有较强的可扩展性。Esri建议您在为了提高最终用户的体验而尝试使用新技术之前,首先了解并学习Esri目前已有的移动应用和示例,这回对你的应用开发有很大帮助。下面是一些对你有帮助的链接和向导。

 

    推荐阅读:

       移动UI模式Android UI设计模式移动可用性

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值