APP下载

四种移动应用开发模式比较与分析

2018-03-02赵晓丹

智能计算机与应用 2018年1期
关键词:开发人员劣势架构

赵晓丹, 陶 然

(东华大学 计算机科学与技术学院, 上海 201620 )

1 移动应用发展现状

随着移动互联网的发展以及移动终端产品的普及,移动应用呈现爆发式增长,涉及的领域由原先单一的社交、游戏扩展到现在的电商、新闻、旅游、餐饮、教育、音乐和医疗等多领域。《中国移动互联网发展状况及其安全报告(2017)》提出,2016年中国境内活跃的手机上网号码数量达到12.47亿,以微信、QQ和百度地图等应用拥有的用户量最多,分别为10.03亿、9.78亿和6.56亿[1]。移动应用市场的快速发展驱使着移动应用开发模式(Native APP、Web APP、Hybrid App和小程序)的不断演进。各种开发模式的开发周期、费用、功能、适用场合、用户体验和安全性不尽相同,企业和组织在开发移动应用时首先要根据自身情况选择合适的开发模式。

2 移动应用开发模式研究

目前移动应用开发模式分为APP和小程序,APP又可分为Native APP(原生模式)、Web APP(网页模式)、Hybrid APP(混合模式)[2-3]。

2.1 开发模式研究

(1)Native APP。Native APP是基于本地操作系统运行的应用;这种原生开发模式由服务器和客户端两部分组成,所有UI元素、逻辑框架和数据都将由用户下载到本地[2]。正是由于这种架构模式,Native APP的开发以及维护成本大大增加,同时多版本之间的体验效果也不尽相同。Native APP的优、劣势和应用场景可见表1。

(2)Web APP。Web APP是基于HTML+CSS+JS等Web技术编程,运行于浏览器的移动应用[2,4]。这种网页开发模式的数据由服务器端提供,实现了数据的实时交互,然而却导致了其响应能力大大不如Native APP。Web APP的优、劣势和应用场景见表2。

(3)Hybrid APP。Hybrid APP开发模式结合了Native APP和Web APP两种开发模式的优点。Hybrid APP开发模式主要分为2种,一种是以Web技术为主的混合架构(Web主体型),一种是以原生技术为主的混合架构(多View混合型、单View混合型)[6]。以Web技术为主的混合架构可通过PhoneGap等框架实现对Web网站的快速打包,这种混合架构同时也继承了Web APP响应速度相对较慢的特性;而以原生技术为主的混合架构与以Web技术为主的混合架构互补,解决了运行效率较差的问题,具体说明可查阅文献[6]。Hybrid APP的优、劣势和应用场景见表3。

表1 Native APP的优、劣势和应用场景Tab. 1 Advantages and disadvantages of Native APP and application scenarios

表2 Web APP的优、劣势和应用场景Tab. 2 Advantages and disadvantages of Web APP and application scenarios

表3 Hybrid APP的优、劣势和应用场景Tab. 3 Advantages and disadvantages of Hybrid APP and application scenarios

(4)微信小程序。微信小程序体现的思想是‘用完即走’,不需要下载安装,给那些放在桌面累赘又不能丢弃的应用提供了一种开发模式[7]。微信小程序由服务端数据和客户端两部分组成,服务端提供API(数据),客户端由微信统一提供的框架、组件和API等组成。小程序的具体介绍可在微信公众平台(https://mp.weixin.qq.com/debug/wxadoc/introduction/index.html)查找。

2.2 移动APP和微信小程序比较分析

表4展示了APP和微信小程序的对比。同时结合表4,可进一步展开研究分析如下。

(1)从开发人员的角度分析。Native APP不具有可移植性,因此需要针对不同操作系统进行独立开发,这样会使得开发人员和维护人员的工作量大大增加。同时由于审核机构不同,多个版本上线时间可能不统一,所以除非在其他开发模式完全满足不了用户需求的情况下必须使用这种模式,否则不建议使用这种开发模式。其次,由于Native APP的数据都位于客户端,如果更新太频繁,会使得审核次数大大增加。所以对于一些经常更新的电商、新闻类应用,可以选择Web APP、Hybrid APP和小程序,这样既减少了开发人员的工作量,降低了成本,又减少了用户的困扰。但要注意的是WebAPP安全性较低,采用这种模式时要加强对用户敏感信息的保护。最后,Native APP和Hybrid APP可以调用设备硬件API,而WebAPP和小程序仅支持部分功能(WebAPP:HTML5提供的API;小程序:微信提供的API),因此要具体考虑需要哪些硬件资源,然后进行选择。

表4 Native APP、Hybrid APP、Web APP和微信小程序的分析对比Tab. 4 The comparison and analysis of Native APP, Hybrid APP, Web APP and WeChat applet

(2)从用户的角度分析。对于经常使用的应用,用户一般希望能非常容易发现,并且交互能力要足够好,所以会选择Native APP和Hybrid APP两种开发模式。对于非刚需或不重要但不可丢弃的应用,为了避免设备桌面应用太多或者因安装而导致内存不足的情况出现,用户一般选择小程序和Web APP,当然还要结合具体的功能需求和业务模式。但是从用户体验上来说,小程序的响应速度比Web APP要快,同时随着微信支付的发展,小程序在电子商务应用方面更具优势,而Web APP的安全性却受人们质疑。其次,对于一些对战手游、动作游戏等追求用户体验的应用,比如最近火热的王者荣耀,应该使用Native APP开发模式。其余在功能、响应速度要求较高的刚需应用可以使用Hybrid APP开发模式。

3 电商移动应用开发模式选择

开发人员在开发电商移动应用时,建议不要选择Native App开发模式。原因是电商类移动应用的数据更新速度太快,而Native APP的数据都存储在客户端,如果使用Native 开发模式,数据改变一次,应用就需要审核一次,用户同时需要更新升级一次才能得到企业的最新数据,给企业以及用户都造成很大的影响。同时,Native开发模式、开发成本、周期以及维护成本都相对较高。

为了适应电商类应用‘数据更新快’的特点,开发人员应该选择数据存储于服务器的开发模式,如小程序、Web APP和Hybrid APP(Web主体型)。开发人员可根据表5从开发、产品、运营三方面针对自己的需求给出具体分析。

表5小程序、WebAPP、HybridAPP的分析对比

Tab.5ThecomparisonandanalysisofWeChatapplet,WebAPPandHybridAPP

小程序WebAPPHybridAPP开发开发成本小中大迭代周期快中等慢维护容易中等最难审核快不需要较慢产品用户体验优一般优功能支持一般少最多程序限制1M无无运营推广成本中低高用户留存中等低高

(1)资金。如果企业资产雄厚,可以考虑直接开发Hybrid APP,因为Hybrid APP的用户留存率高;然后再考虑开发小程序或Web APP。如果企业资金短缺,可以考虑先开发小程序或Web APP。小程序的推广力度大,支持的功能比Web APP多,但只有1 M的代码容量,在选择开发模式时要实际参考具体软件需求。

(2)安全性。小程序以及Hybrid APP需要通过相关机构审核,这样的流程使得其安全性更受用户信任,对于有线上资金交易的应用,可以考虑这2种开发模式。对于大金额交易,人们更信任当面交易,因此这种企业的移动端应用就相当于产品展示平台,可以采用Web APP开发模式。

(3)开发周期。如果企业急需移动端应用,可以考虑开发小程序和Web APP,但建议涉及到资金交易的应用,最好不要选择Web APP开发模式。

(4)使用频率。就目前用户的使用习惯来说,Hybrid APP开发模式适合高频使用的应用,Web APP和小程序更适合低频使用的应用,如果有资金交易,可以考虑开发小程序。

(5)功能。在功能方面,目前Hybrid APP支持功能最多,其次是小程序,最后是Web APP。在满足功能的前提下,一定要结合(1)~(4)内容进行综合选择。

总体来说,Hybrid APP是使用频度高的应用的最佳开发模式,如饿了么、淘宝和京东等。对于一些非刚需或使用频度低的应用,可以考虑开发小程序,原因是其功能和Hybrid APP相近,而且开发成本远远低于Hybrid APP。Web APP功能相对来说比其它2种开发模式少,而且安全性相对来说不高,更适合展示型应用。

4 讨论与分析

经过上述分析,可以得出移动应用的4种开发模式优、劣势共存,那么开发人员应该如何选择适合自己的开发模式以达到用最小的代价达到用户最满意的结果呢?通过本文前述对于移动应用开发载体的研究,可得出7条模式选择的依据,详情可根据具体需求参考本文前述研究。内容结论如下:

(1)对于极度追求画面流畅度的大型游戏,建议使用Native开发模式,比如王者荣耀。

(2)工具类应用建议使用Native开发模式,如百度地图等工具。

(3)除非必要,否则不建议选择Native开发模式。

(4)对于需要经常更新的应用,首先要摒弃Native APP开发模式。

(5)对于使用频率低的应用,建议开发小程序(注意小程序1 M的容量限制)。当然,在此基础上也可开发Hybrid APP。

(6)对于涉及金钱、敏感信息这类应用,不建议使用Web APP。

(7)如果资金充足,可以考虑开发Hybrid APP;原因有二,其一安全性高,其二支持功能完善。

综上分析可知,描绘给出一个基本的模式选择流程如图1所示。

图1 移动应用开发模式选择流程图

Fig.1Aflowchartofmobileapplicationdevelopmentmodeselection

5 结束语

当前移动应用市场越来越火爆,各行各业开始纷纷涉足这块领域。为了企业能够以低成本快速地开发出适合自己的应用,本文对移动应用的4种开发模式(Native APP、Web APP、Hybrid App、微信小程序)的优势、劣势和使用场景进行了比较和分析。不管未来移动应用的开发模式会如何演进,都应以用户需求、开发维护成本和业务模式作为出发点,设计实现移动应用技术选型。

[1] 新华网. 《中国移动互联网发展状况及其安全报告(2017)》[EB/OL]. [2017-05-17]. http://news.xinhuanet.com/info/2017-05/17/c_136291536.htm.

[2] 顾春来. APP应用程序开发模式探究[J]. 硅谷, 2014(5):35-36.

[3] 黄永慧,陈程凯. HTML5在移动应用开发上的应用前景[J]. 计算机技术与发展, 2013,23(7): 207-210.

[4] 王鑫. Native App与Web App移动应用发展[J]. 计算机系统应用, 2016,25(9): 250-253.

[5] 刘华星,杨庚. HTML5——下一代Web开发标准研究[J]. 计算机技术与发展, 2011,21(8): 54-58,62.

[6] 钟迅科. 基于HTML5的跨平台移动Web应用与混合型应用的研究[J]. 现代计算机(专业版), 2014(19): 32-36.

[7] 张小龙. 微信小程序入口在哪?有什么用?[J]. 计算机与网络, 2017(4): 50.

猜你喜欢

开发人员劣势架构
基于FPGA的RNN硬件加速架构
劣势或许会成为优势
功能架构在电子电气架构开发中的应用和实践
Semtech发布LoRa Basics 以加速物联网应用
近亲繁殖:并非全部是劣势
LSN DCI EVPN VxLAN组网架构研究及实现
让Windows 10进入开发者模式
一种基于FPGA+ARM架构的μPMU实现
后悔了?教你隐藏开发人员选项
公立医院优势变劣势