EffectiveUI公司的联合创始人兼总裁,安东尼·佛朗哥说:“许多公司会找到我们,并且询问我们如何构建一个iPhone的应用程序。不过当我询问他们,为什么这样作时,他们并没有一个很好的答案。”
EffectiveUI公司专门为一些大公司构建应用程序。这些知名的大公司包括 Adobe,Boeing,FedEx,Level3,Microsoft,National Geographic,TIAA-CREF等。佛朗哥说:“目前的企业,缺少一个整体的移动战略规划,并且不清楚一个应用程序将如何帮助用户和公司。”
为了解决这样复杂的问题,他说,必须找到合适的开发工具和正确的方法。
1.询问为什么
这是最关键的一个问题,先要问客户,为什么要使用移动应用程序,以及为什么它会对最终用户有帮助。如果没有非常明确的目标,那么说明此项目是比较盲目的。
Trailer Park是一家应用程序设计公司,其副总裁埃文说:我们为许多大公司设计移动应用程序,如美国运通、戴尔、华纳兄弟等。这些精明的客户往往都可以很明确的回答出“为什么”。但是,并不会很深刻的去思考这个问题。而有些客户,需要我们引导,他们究竟为何需要一个移动应用程序,或者是移动互联网网站。
2.如何创建一个应用程序,并且确定可以提升用户的价值。
佛朗哥说,主要有三种方法:1.使用一个开发框架建立基本的应用程序。2.建立Web应用程序。3.如果需要更复杂一些,那么可以建立一个跨平台的混合型的移动应用程序,就要结合基于Web的网页代码和native code代码。
EffectiveUI公司的***软件设计师布鲁克说,native code代码往往是***的选择,因为在跨平台时程序的性能可以保证。如果你正在作一个处理密集型的应用程序,必然要选择native code应用。但如果选择基于Web的应用,可能因为网速影响到用户体验。
开发框架和工具往往决定了移动应用程序研发的速度。布鲁克说,最近我们在使用Ansca Mobile的Corona SDK来创建“Dolphin Tale: Fling a Fish”。这个应用有iOS和Android版本。我们要赶时间在华纳兄弟的***电影“Dolphin Tale”上映的同期推出。
有越来越多的客户希望能尽快按照他们的工期交付移动应用程序,使用先进的开发工具,可以让我们的开发更有效率。使用native code比同时研发两个移动平台的应用要显得高效的多。
通常情况下,native code仅仅是系统API的一个子集,但是使用native code也可以作很多事情。他可以在多平台开发时,取得更高的开发效率。“Dolphin Tale: Fling a Fish”这款应用程序由于使用了native code方式,节省了一半的研发时间。不过,如果碰到一些比较独特的开发项目,使用模板化的代码,可以更快速的完成开发。
布鲁克称赞EachScape就是个好选择。EachScape是一家专门贩卖iOS和Android平台native code模板的公司。使用它们的native code模板可以快速的开发出一款跨平台的移动应用程序。
布鲁克说,他的公司目前还没有一个特别钟爱的开发框架,他们努力去尝试不同的开发工具,不断去熟悉他们的特性和区别。这包括Adobe的移动开发工具, Appcelerator Titanium, Corona SDK,PhoneGap。事实上如果你放眼今天的移动开发领域,还有许多工具,包括:appMobi,Gideros,haXe,Moai,Mo Sync,Rhodes,Tiggr,Unity3D。这些工具目前正在激烈的竞争和并购,百家争鸣的景象让这个产业显得蒸蒸日上。某些时候,客户也会提出要使用某些开发工具。
至于说到Web技术,佛朗哥说:更为复杂的应用程序,需要使用到Web技术。比如客户的业务流程变的很复杂的时候,就相当依赖Web技术。我们宁愿使用一组代码,也不愿意去解决不同设备不同平台上的兼容性问题。虽然基于Web技术的应用程序,会让你失去对native code程序的控制,但是这也是值得的。
Web应用程序对于很多大企业来说很有意义,尤其是当客户仅仅能提供一些内部的数据,而不能提供任何应用接口工具的时候。
3.询问后期维护
佛朗哥和布鲁克都一致认为,许多客户都将移动应用程序看做是一个媒体,而不是简单的购买一个软件工程项目。他们需要长期的关注和维护移动应用程序。客户希望在未来能够不断的进行完善,快速的迭代。
要将思考的焦点放在是否需要一个应用生态系统上,而不是简简单单的一个app程序。对于企业开发来说,这对我们非常有利,因为这里要涉及许多后续的更新和维护费用。
4.询问应用程序的基础架构。
这是对于客户一个非常重要的问题。他们想要的东西,是移动应用程序提供的某种应用服务。也许这里就要涉及云和后端程序的研发。
佛朗哥又指出,有许多客户往往不能迁移到移动云应用,因为他们的内部基础设施和架构并不允许。云应用相对来说是比较独立的应用程序,而纯粹的商业应用则很少有需要云应用。
“企业需要一个移动应用程序,要将它看做是一项基础设施,并不是独立的项目或者是扩展应用程序,”他建议说。
5.询问是否够简单。
佛朗哥的***一条建议是,让你的妈妈来设计软件。对于移动应用程序的使用者来说,怪咖极客的时代已经过去了。这些软件的开发是被用于Power User。苹果的iPad和其他消费类产品可以让新手用户快速上手,并且有***的应用体验。
软件很容易被想象,但是要想将它创造出来却是一件难事。不同的开发团队之间的差距就是谁能作的更好。