机房360首页
当前位置:首页 » CIO观点 » CIO:你如何对待移动应用开发?

CIO:你如何对待移动应用开发?

来源:CIO发展中心 作者:机房360转载 更新时间:2011-10-11 18:05:14

摘要:智能手机的杀手级应用是什么?这个问题让人很容易走偏——答案就是应用程序,而且是众多应用程序。据美国皮尤互联网项目组织在今年5月开展的一项调查显示,43%的智能手机用户在其设备上装有应用程序,而且大多数人经常使用。

  接受《信息周刊》杂志2011年企业应用调查的企业技术专业人员将移动应用程序列为企业软件领域的重中之重。这就难怪大多数企业在考虑紧跟应用程序发展迅猛的形势,帮助促进营销、销售和客户服务方面的工作。
  
  但是开发和部署高质量应用程序可能困难重重。大多数公司内部并没有深厚的移动应用开发技能。需要针对多款操作系统进行开发,而操作系统与设备的组合更是多达上百种。许多公司在考虑移动应用开发战略时,一个关键的决定是准备部署哪种类型的应用程序。第二个关键的决定是,该如何部署那些应用程序——这就需要把开发战略与移动设备管理结合起来。
  
  开发移动应用程序的方法主要有如下三种:
  
  ♦为安卓、iOS和黑莓等每一种平台开发原生应用程序。
  
  ♦购买和使用跨平台开发框架,充分利用其应用编程接口(API),以便代码只需编写一次,应用程序就可以在多个平台上运行。
  
  ♦使用移动企业应用平台,该平台提供了预制的、企业就绪的应用程序,而这些应用程序可通过开发商的框架与你现有的业务系统整合起来,因而不需要大量的开发工作,就可以快速部署应用程序。
  
  我们不妨逐一介绍每种开发方法,每种方法都有明显的优缺点。
  
  原生应用程序
  
  开发智能手机原生应用程序的主要原因是,由于应用程序需要访问设备所提供的特定功能,比如方向感应器、摄像头或全球定位系统(GPS),而且需要与其他原生应用程序和本地处理功能集成所带来的优点。想必大家屡屡遇到过这种情况:应用程序下载到手机上后,下拉框或复选框无法像在手机上的内置应用程序中那样可以正常操作。
  
  虽然很容易明白原生应用程序具有的优点,但如果你内部没有对移动平台有深入了解的开发人员,就会面临许多缺点——可是又有多少IT部门拥有这方面的深厚技能?
  
  虽然为智能手机和平板电脑编写程序方面有经验的开发人员其队伍在日益壮大,但大多数IT部门需要求助于外人,才能开发原生应用程序。要牢记如今的移动环境所特有的下列这些因素。
  
  首先,确保开发商在开发你想要的特定类型的应用程序方面有经验,而不仅仅是在操作系统平台方面有经验。所以,如果你在为iPad改写客户关系管理(CRM)应用程序,就别选择与在多种输入格式和数据库驱动型应用程序方面毫无经验的公司合作。面临的风险是,它开发出来的界面会很笨拙。
  
  其次,确保开发商先给你展示用户界面,之后才构建应用程序;而且在开发过程中,使用记事板之类的工具。一旦开发商构建好了完整的应用程序,要确保其质量保证小组在使用手机模拟器软件,在多种不同的移动设备上测试原生应用程序。不同的屏幕尺寸、处理器和内存都有可能改变应用程序的运行方式。
  
  第三,确保你订有服务级别协议,明确规定了开发商会多迅速地解决问题。除非你针对应用程序统一了设备类型,否则大批的移动平台和设备会使得出现不兼容的可能性相当大。应用程序用户自然希望立即获得补丁,但是开发商可能要过30至45天才能推出补丁。单单安卓就支持200多种设备和操作系统配置,就连苹果严加控制的iOS也有许多需要测试的版本。
  
  开发原生应用程序的另一大缺点在于安全性。虽然安全软件开发方法多年来就已存在,但大多数移动开发团队根本没有在遵守安全软件开发生命周期(SDLC)这样的流程。不是只有小公司才会遇到移动应用安全问题。在去年,花旗银行、富国银行和万士达卡各自发布了将包括个人身份识别号(PIN)和信用卡号码在内的数据存储在移动设备上的移动应用程序――这种做法并不安全。这种安全漏洞在一般漏洞列表数据库(名为CWE-312)中早有记载。不过,许多移动开发小组似乎忘了这一点:就跟其他任何应用程序一样,移动应用程序也会频繁受到攻击。
  
  导致安全风险更大的是,原生应用程序是各个操作系统(如iOS和安卓)所特有的;这样一来,就更难分析其安全性了,那是由于扫描查找安全漏洞的许多工具不支持这些新的平台。
  
  跨平台开发框架
  
  跨平台开发框架号称“只要一个代码库,就能适用于每种智能手机”,典型的开发商如Rohomobile、Appcelerator和WidgetPad。这些平台让开发人员可以迅速开发新的移动应用程序,通常使用预制的用户接口和拖放式编程功能。虽然它们的确提供了构建功能强大的应用程序这一功能,但这些平台大多数面向重新显示来自中央存储库(如网站)的内容的应用程序,或功能单一的应用程序。
  
  一个优点在于,虽然安卓和iOS分别使用Java和Objextive-C编程语言,但跨平台开发框架可能使用更常见的语言,比如JavaScript、HTML5和CSS。这样一来,比较容易找得到开发人员,而且缩短了开发应用程序的时间。
  
  跨平台开发框架的一个主要优点是,可以重复使用模块。赫赫有名的《人月神话》(MythicalMan-Month)软件开发著作强调,确保软件开发成功的关键是,重复使用众所周知、严格测试的模块,因为这种重复使用缩短了完成项目的时间,并提高了可靠性。跨平台开发框架有许多论坛和社区,开发人员可以在这里下载预制组件,比如下拉框、数据网格以及与社交网络集成的组件。

本文地址:http://www.jifang360.com/news/20111011/n583930041.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片