原生App与Web APP优劣势分析

现如今APP开发有两个主流的方向:原生App 以及移动Web App。那么您是否知道这两者有何区别?什么是原生APP,什么是web APP?今天小编在此对二者进行一个对比。
在这里插入图片描述
☛ 什么是原生APP
在智能手机上运行的App应用程序有NativeAPP(基于本地操作系统运行)和WebAPP(基于手机浏览器运行),其中NativeApp就是原生App的意思,所以原生App开发也就是指基于本地操作系统的App开发服务。如今市面上多数的APP软件开发都是使用的原生程序编写的应用程序,也就是说大部分的手机APP属于原生APP应用软件。原生APP访问和兼容的能力也比较好,可以支持在线或者离线消息推送或是进行本地资源访问,以及摄像、拨号、蓝牙、功能的调取。原生APP开发有许多的优势,如原生APP是针对不同的平台为用户提供不同的体验、原生应用可以节约宽带成本、访问本地资源、打开的速度更快并为用户提供最佳的用户体验和优质的用户界面等。

☛ 什么是web APP
WebApp是一种框架型APP开发模式(HTML5APP框架开发模式),具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两部分构成,APP应用客户端只需安装应用的框架部份,而应用的数据则是每次打开APP的时候,去云端取数据呈现给手机用户。

☛原生APP和web APP的对比
在这里插入图片描述

1、开发方面

原生APP:
    每一种移动操作系统都需要独立的开发项目,iphone版本、Ipad版本、安卓版本。每种平台都需要独立的开发语言。需要使用各自的软件开发包,开发工具以及各自的控件。开发成本高、开发速度慢、维护成本高。三个平台(IOS、安卓、windows)的规则、推广、运营都不相同。官方应用商店对APP上线审核流程比较复杂而且很慢,会严重影响APP的发布上线。

web APP:
    因为运行在移动设备的浏览器上,所以只需要一个开发项目。可以通过HTML、CSS或者JavaScript来进行WebAPP的开发。开发成本低、开发速度快。

2、功能方面

原生APP:
    原生APP是一个系统性的应用程序,可以类比于电脑上的软件。原生app可以调用移动终端的硬件设备, 比如:麦克风、摄像头、短信、GPS、蓝牙、重力感应等。实现功能丰富

web APP:
    Web APP可以类比于电脑上的网页。WebAPP更多是页面展示类的APP。只能使用有限的移动硬件设备功能。更多用于页面展示,侧重于简单的交互,无法使用很多硬件设备独特的功能。

3、应用安装与使用方面

原生APP:
    需要通过应用商店将原生app下载到手机上或移动终端上。以独立的应用程序运行用户必须手动去下载并安装这些原生App,原生应用可以节约宽带成本,可以访问本地资源、缓存。
web APP:
    过移动设备上的浏览器访问,软件更新只需要更新服务器就够了,用户层面不需要做任何操作。不需要安装客户端,可以节省手机终端的内存空间。

4、版本控制方面

原生APP:
    用户可以自由的选择是否更新软件版本,所以会出现不同用户同时使用不同版本的情况。同时也会导致维护成本比较高。使用旧版本的用户无法体验新版本的完整功能。
web APP:
    所有用户都是同样的版本,所有用户获得的功能都是相同的。版本更新比较方便,直接在服务器册更新数据即可。一个功能做好了就上线,一天更细几十次都毫无压力。如果客户端只是一个浏览器,那一切都会变得非常简单。另外web统一性高,跨平台使用时开发量少。由于其入口不明显(浏览器导航或者随意点击链接进入),让用户记住的门槛也随之拔高。每次推广导入的流量都可能沦为一次性努力,用户留存低。

5、加载速度方面

原生APP:
    原生APP由“云服务器数据+APP应用客户端”两部分构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。访问的时候,不需要重新下载加载应用页面框架,只需要加载数据即可。所以加载速度更快,页面响应更快。
web APP:
    而WebAPP打开一个页面,都需重新加载页面的所有元素,访问速度受手机终端性能和网络环境的限制,导致加载速度慢,而且操作频繁容易卡死。

总结:

    原生App偏向于交互,注重用户体验(导航切换、勾选选项、图片、视频等操作),WebAPP偏向与浏览和简单的交互。一些功能需要访问硬件(摄像头、传感器等),使用原生App,WebAPP用于信息展示。成本有限时,核心的功能使用原生APP,周边辅助的功能可以使用WebApp。现状:比较流行的方法就是将原生App和WebApp进行融合,就是说应用大的框架是原生的,其他详细的内容就通过网页封装,这样做的好处就是在方便更新的同时,也能保证核心功能的交互体验。