大量新生移动设备的兴起,改变了当今互联网的格局,每天有数以万计的APP应运而生,如微信、微博、手游、淘宝、电子商务等给人们的工作生活带来了深刻的变化。那这些APP是如何开发出现的呢,他们采用了什么技术,是基本原生开发模式,还是html5呢,或者其它呢?为什么要区分android和ios呢?本文将浅析目前业界三种常用APP的开发模式的优缺点,以供选择开发模式时参考。
一、三种常用开发模式
1、原生开发模式(Native App)。
原生App实际上是一种基于智能手机本地操作系统如Android、IOS和WindowsPhone并且使用原生程序编写运行的第三方移动应用程序。开发原生App软件需要针对不同智能手机的操作系统来选择不同的App开发语言,如安卓App是Java开发语言、IOS APP是Objective-C语言、Windows Phone的APP开发是C#语言。我们可以这样理解,Native APP就相当于在电脑终端的CS架构软件,本身是一个应用程序,与服务器交互采用特殊数据接口如WEBSERVICE,SOCKET等。
如今市面上多数的APP软件开发都是使用的原生程序编写的应用程序,也就是说大部分的手机APP属于原生APP应用软件。原生APP因为位于平台层上方,所以向下访问和兼容的能力也比较好,可以支持在线或者离线消息推送或是进行本地资源访问,以及摄像拨号功能的调取。原生APP开发有许多的优势,如原生APP是针对不同的平台为用户提供不同的体验、原生应用可以节约宽带成本、访问本地资源、打开的速度更快并为用户提供最佳的用户体验和优质的用户界面等。现在市面上一般的手游、百度地图、股票软件等采用Native App的开发模式开发。

(图一、原生开发模式的优劣势)
2、WEB技术开发模式(WebApp)。
Web App开发即是一种框架型APP开发模式(HTML5 APP框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部份构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。我们可以这样简单理解,Web App就是一个Web网站,如他的展示放在电脑上则采用html的开发技术,放在移动终端上则采用htlm5技术以适用于在移动终端上显示。打开方式是通过移动终端的浏览器访问,几乎和固定终端一致。
由于WebApp采用浏览器的模式打开应用,采用的是http协议访问服务端,无法与操作系统底层进行任务调度。因此,操作系统底层所提供的摄像头、文件系统、感应器等功能无法被Web App调用。Web App常用于一些Web网站交互,如微信Web-App,企业应用等。

(图二、Web App开发模式的优势)

(图三、WebApp开发模式的劣势)
3、混合App开发模式(HybridApp)
Hybrid App是指介于Web App、NativeApp这两者之间的app,它虽然看上去是一个NativeApp,但只有一个UI页面,里面访问的是一个Web App。我们可以这样理解,Hybrid App就是Web App和NativeApp结合体,Hybrid App具有Native App的壳,内部显示确是通过Web App实现,具有“Native搭台,HTML 5唱戏”的特性。这种模式最大的一个优点是可以通过Native App的壳调用摄像头、文件系统、感应器等硬件资源功能,并将调用到数据传送给内嵌的WebApp使用。这样就解决了Web App不能调用系统硬件资源问题。可以这样说,Hybrid App兼顾了前面两种开发模式的一些特点。近几年大量的APP开始采用这种混合开发模式实现,如微信、手机淘宝、百度视频以及大量的企业级应用。
三、后言
从前面的分析和比较可以看出,App的三种常用开发模式,可以说是都具有非常突出的优点,也有他一些天然不可避免的缺点。
就一般性而言,如你是在开发游戏或者对用户体验有着极高的要求,则需要采用原生开发模式,但随之的是成本大量增加。如是企业一般性应用或者一般电子商务系统,则建议采用混合开发模式,这样的性价比较高。对于Web开发模式,一般用到一些特定对用户体验观注不太多的一些特殊场景。
从我们公司的角度来看,如对内部使用的App,由于对用户体验没有极致体验的要求,混合开发模式已经能够满足日常内部使用,同时从性价比的角度来说也应尽量采用混合开发模式。对于通过互联网开放给外部用户使用,如是电子商务类也应采用混合开发模式,这样能够适应电子商务类内容更新快的情况。在一些特殊功能的对外用户模块,如产品宣传,游戏则可以采用原生开发模式,以达到用户体验的效果。对于Web开发模式则尽量不要采用,因为这种模式用户使用感知不好,同时改为混合开发模式的成本增加很小,应尽量改为混合开发模式。因此,在投入、用户体验、维护成本等方面综合考虑,这里我们采用Hybrid App开发模式,第三方跨平台移动应用引擎框架采用国内Dcloud公司的HBuilder+HTML5+MUI+HTML5plus+框架。
HBuilder:作为IDE提供编码,调试,App打包发布功能。
HTML5:负责前端页面展示
MUI:轻量级的样式框架,提供接近原生样式的展示效果。
HTML5 Plus:js框架,逻辑调用层。5+Specification:提供包括二维码、摇一摇、语音输入、地图、支付、分享、文件系统、通讯录等常用API。Native.js:将原生40wAPI映射为JS API,丰富框架的功能。5+SDK:一种插件机制,使第三方SDK可以集成到5+runtime。
其中IDE开发工具Hbuilder如下,集成了强大的语法提示、云打包等功能,虽说HTML最开始其实不是一个编程语言,确实用不着什么ide。但是有一个合适的工具确实能大大提高开发效率。从下图也可以看出,开发者只要掌握js,html,css即可完成app的开发,而且打包后还可兼容IOS和Android系统,大大降低了开发成本和后期的维护成本。
本文地址:APP开发频道 https://www.hkm168.com/web-appkf/1971.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们处理,谢谢!



相关阅读

