伴随移动智能终端的蓬勃发展,APP应用程序也进入爆发式的发展阶段。文章剖析了APP软件开发的一般流程,并在此基础上深入探讨了Native APP,Web APP以及Hybrid APP三种APP开发模式。通过对比三大主流开发模式的对比,笔者认为Hybrid APP开发模式或将成为未来APP开发模式的首选,尤其对于企业级APP应用软件。
APP是APPLICATION的缩写,其中文原始释义“应用”。伴随着以智能手机为代表的移动互联网以及移动智能终端的兴起,APP目前已特指专为移动互联网或移动智能终端开发的软件应用程序。搭乘着“移动”的东风,APP也进入了大爆炸式的发展时代,目前业界比较著名的有苹果商店(APP Store)、谷歌商店(GOOGLE Play)以及微软商店(Window Phone)三大APP集成发布平台。
1 APP 软件开发的一般流程
APP软件开发会根据不同的产品特征,制定相应的开发流程。但一般意义上,APP软件开发的主要阶段包括需求分析,软件设计,代码编写,测试以及发布与维护。
1)需求分析。相比其他软件,APP软件更注重客户的特定需求,因而软件开发者必须深入了解客户诉求,明确客户需求,根据APP软件的定位以及其目标用户群的用户特征,明确相关的功能诉求以及友好界面诉求。
2)软件设计。完成用户需求分析后,就需要对APP软件进行规划设计。设计阶段主要包含功能设计和界面设计。前者是APP软件的核心,通过功能设计满足用户群的使用诉求;而后者则是友好界面设计,在APP多如牛毛的今天,界面设计往往成为决定APP软件是否获得市场成功的关键和重要因素。
3)代码编写。该阶段,编程人员根据功能设计和界面设计内容,完成相关的代码开发编写工作。根据开发模式的不同,主要的编程语言包括原生语言ObjectC、Java、.net等和网页语言HTML5+JS。
4)测试阶段。测试在APP软件开发中尤为重要,通过测试反馈,可以不断地修正APP产品,使之无限接近客户需求。一般APP软件会在完成代码编写工作后生产Demo,加入相关界面元素,在目标客户群中进行测试,收集反馈意见,并不断完善。
5)发布与维护。反复测试与完善后,APP软件即可正式发布运营,但后期软件开发者还需要对软件进行有效维护,应对突发事件。
APP软件开发的一般流程
2 APP软件开发的主要模式
APP软件开发模式主要包括Native APP(原生开发模式)和Web APP(网页开发模式)两大类,以及在这两大类基础上衍生的Hybrid APP(混合开发模式)。
2.1 Native APP开发模式
Native APP开发模式又称传统型开发模式,是基于本地操作系统运行的APP应用程序,因而在软件开发过程中需要针对不同的手机操作系统,如苹果IOS或者GOOGLE的安卓系统,采用不同的语言和框架进行开发。一般包括云服务器数据和APP应用客户端两个构成部分,但所有的UI元素,内容以及逻辑框架均需要下载安装在移动终端中。
Native APP开发模式的应用程序位于平台层上方,具有较好的下行访问和兼容能力,可以充分利用设备的资源,提供良好的交互式体验。如Native APP开发的应用程序可以支持在线或离线,消息推送等。此外Native APP最大的优势在于其可以充分实现智能移动终端的本地资源访问,并调用硬件设备资源,如摄像头、拨号功能的调取等。
但是Native APP开发模式开发成本要高很多,其开发要结合移动终端差异化的操作系统以及逻辑架构,因而维持多个版本的更新升级比较麻烦,用户的安装也需要一定的硬件支撑,门槛比较高,并且不易移植到其他平台。
2.2 Web APP开发模式
Web APP开发模式是一种框架型的开发模式,简单来说Web APP本质上是针对智能移动终端特殊优化后的web站点,它使用的技术也就是Web开发的常用技术,如HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。
Web APP一般包含HTML5云网站和APP应用客户端两个构成部分。通常APP的数据需要每次呈现时需要去云端索取数据,而对于客户用户端来讲,只需要按照程序的框架协议。因而Web APP开发具有跨平台性,开发者不需要花费太多精力聚焦于底层适配和跨平台开发语言的问题,加快开发效率。安装简便,更新方便。
Web APP每次呈现需要调用云端资源,用户的交互式体验不如Native APP,在消息推送,离线模式以及调用移动终端资源的能力相对较弱。
2.3 Hybrid APP
Hybrid APP开发模式是在Native APP 和Web APP开发模式基础上衍生的APP开发模式,表面上看比较接近Native APP,但里面访问确是一个Web APP。Hybrid APP开发模式较好的整合了Native APP开发模式的交互式体验以及Web APP开发模式的跨平台开发优势。
Hybrid APP开发模式适应了移动互联网的大爆炸发展的趋势,兼具体验以及低成本优势Hybrid APP在Native APP以及Web APP中获得突破式发展,一些国内外主流的APP应用其实就是架构在Hybrid APP开发平台基础上,比如脸谱,百度搜索等。
根据Native以及Web视图交互模式的不同,Hybrid APP通常分为三种类型:第一种类型是多View混合型,Native和Web交替出现,相对呈现,但是Native依然是常见主体,因而具有良好的用户体验,但开发成本也相对较高。第二种类型是单View混合型,Native 和Web 共生存在,层叠呈现,百度搜索也正是采用这种视图交互模式,单View混合型相比多View混合型,用户体验更佳,但开发成本会相对更高。对于低成本开发的APP软件可以选用多View混合型,而对于诸如百度搜索这样企业级的重量级APP可以选择用户体验更佳的单View混合型。第三种类型Web主体型,以Web为主,穿插Native,常见主体是Web,因而用户体验差,但开发成本较低。
3 企业级APP应用软件开发模式
随着智能移动互联网的用户群日益强大,越来越多的企业加入到移动互联网的战场,争先开发企业级APP软件,更好地进行品牌推广和用户群服务。Hybrid App兼有Native APP和Web APP的优点,既有跨平台低成本开发优势,又能良好的交互式体验和调用智能终端设备的优势,因而逐渐成为企业及移动APP开发的首选模式。
一些大家耳熟能详的移动APP,如Facebook,百度搜索等就是基于Hybrid APP模式开发。国内的一些著名图书馆也基于Hybrid APP开发模式开发了各具特点的APP应用软件,如中国国家图书馆、上海图书馆、厦门大学图书馆等。厦门大学图书馆APP运用苹果操作系统MAC OS X的XCode开发套件作为开发环境,以Hybrid开发模式进行移动APP开发。该APP利用iOS的各种接口,可充分调用移动终端的各种资源,同时又嵌入UI Web View的构架,可以快速发布更新,方便用户群能够快速的实现移动图书馆的功能。厦门移动图书馆在开发中,出于提高运算速率的考虑,大部分的任务交由服务器端处理。应用程序接口API被开发为通用接口,实现交互,将繁琐的数据库操作语句转化成简单的“发送HTTP POST或GET请求”,而后“对返回的XML进行解析”的过程。