移动应用开发工具应该如何改进?

手机具有非凡的“改造”能力,它改造了人与电脑交流的方式,改造了人与人交流的方式,人们购买软件(APP)和软件发明的方式。似乎我们知道的一切都正在或者已经被手机改造。

对于APP的开发者来说,这种改造的挑战颇有些让人胆战心惊。过去的15到20年中,开发者们集中精力创造并完善了为单平台单元素(比如Windows台式电脑)设计软件的流程。但现在对于手机软件开发来说,随着操作系统(平台)的扩展,即使是有经验的软件设计师也感觉力不从心。之前他们掌握、调试的所有工具、过程和技术,用在手机软件开发上,似乎毫无效果。

在开发市场上,已经展开了围绕下一代开发工具和开发过程的争夺战,这种竞争将使得新一代的多平台手机开发变得和桌面或网络开发一样有效可控。为实现这样的目标,预计下列五个环节将发挥关键作用。

1、构建

伴随着平台的增多,不同的“构建”要求也不断增加。在今天,如果要构建一个应用程序,让它分别能在iOS、安卓、Windows手机,黑莓等平台上运行,需要涉及种类繁多的集成开发环境(IDE),软件开发工具包(SDK)和操作系统。即使是混合程序,应用已有的HTML和JavaScript技术实现多个平台通用,也需要大量混杂的结构以适应每个目标操作系统。

多平台世界需要的是针对多平台软件开发的优化的工具,而不是孤立各个系统或陈旧科技的工具。寻求新的改进后的工具应当能帮助移动应用开发者弥合各个平台的差异,这样能节约管理软件的时间,而把更多的时间投入到编写软件中。

2、调试

对移动软件开发来说,很少遇到像调试这样困难的问题。

调试之所以困难,主要原因有两个:

1)可利用的应用软件调试手机操作系统模拟器现有数量远远低于需求量;

2)软件一般都在电脑上开发,然后可以从电脑把程序部署到手机终端运行来调试程序。现在的移动程序步骤复杂,基于电脑的模拟器也不会有很显著的提高。因此我们只能完善手机直接调试的工具,实现直接在手机上调试,才能减轻目前软件开发调试的痛苦。

3、测试

一旦创建一个应用程序,就需要一些自动化的测试来保证在后续的更新发布前,用户在应用商场下载到的应用程序是能正常工作的。在“以前的”微软时代,这是一个相对轻松的任务。但是现在因为有各种不同的移动智能机,使得测试不仅仅在不同的操作系统,而且要覆盖到不同的设备终端。虽然现在出现了“云设备实验室”这样的工具,但要使得记录、反馈和管理测试的过程有所收效,还需要大量的工作。

4、部署

不管你的程序是为了投放公开应用商场,还是为一些私有的用户组开发,如今移动应用的部署所需要的人工步骤都远多于此前。这些封闭的系统往往不可能让你的程序实现一次开发就可以部署到不同的平台上。如果你的目标群体不是公开的应用商城,部署的过程将更加困难。每天被开发出来的内部商业应用成千上万,但是要把这些应用发布到员工的设备中,各自部署的方法都不一样。

5、优化

网站发布在服务器上,电脑程序在电脑上运行,这些关系都是相对静止的。但移动软件却是动态的,随用户移动,或在线上,或在线下,总之,一旦发布之后,就不受到发布者的控制了。

为了解我们程序的运行状况与其动态分析,我们需要对已经发布的软件进行监控。开发者需要监控程序的可用性和性能,并跟踪普通用户所遇到的问题,和一些引起程序低于60帧/秒或者fps(一个衡量程序响应度的指标)的故障 。

统计显示,开发出软件因为初始版本不佳而被弃用的比例高达发布总量的1/4。开发人员会使用各种工具来帮助他们提高程序的质量,从而保证他们的应用程序不会成为那1/4中的一员。

移动开发平台的艰难局面才刚刚开始,我们迫切需要更优秀的移动开发工具。幸运的是,新的工具正不断出现,来帮助开发者来过渡这个过渡期,有效实现企业移动应用管理。因此这样的艰难过渡可能只会是短期现象。