Web App、Hybrid App、 Native App之间的差异

APP,一般认为是 mobile application,也就是移动移动应用程序。

目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。

Web App、Hybrid App、 Native App之间的差异_第1张图片

1.Web App

Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用,生存在浏览器中的应用,基本上可以说是触屏版的网页应用。WebApp是基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。

优点

(1)开发成本低,

(2)更新快,维护相对简单

(3)更新无需通知用户,不需要手动升级

(4)能够跨多个平台和终端。

缺点:

(1)临时性的入口

(2)无法获取系统级别的通知,提醒,动效等等

(3)用户留存率低

(4)设计受限制诸多:主要5个因素(网络环境,渲染性能,平台特性,受限于浏览器,系统限制)。

  • 网络环境依赖大,自身渲染性能较弱:对复杂的图形样式,多样的动效,自定义字体等的支持性不强。
  • 由于Html5语言的技术特性,无法调用系统级别的权限。例如,系统级别的弹窗,系统级别的通知,地理信息,通讯录,语音等等。且与系统的兼容性也会存在一些问题。以上限制通常导致APP的拓展性不强,体验相对较差。
  • Web App生存于浏览器里,宿主是浏览器。不同的浏览器自身的属性不尽相同,如:浏览器自带的手势,页面切换方式,链接跳转方式,版本兼容问题等等。

(5)体验较差

与原生对比:

原生app开发的成本比较高,而且后期维护比较困难

web app获取不到手机里面的底层功能,比如说打开摄像头、打开相册、获取我们的地理位置信息、支付...都是做不到的,

在设计Web APP时,应当遵循以下几点:

1. 简化

  • 简化不重要的动画/动效
  • 简化复杂的图形文字样式

2. 少用

  • 少用手势,避免与浏览器手势冲突
  • 少用弹窗

3. 减少

  • 减少页面内容
  • 减少控件数量
  • 减少页面跳转次数,尽量在当前页面显示

4. 增强

  • 增强Loading时的趣味性
  • 增强页面主次关系
  • 增强控件复用性

2.Hybrid App

Hybrid APP指的是半原生半Web的混合类App。兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。 。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。

混合式 APP 目前有越来越火的趋势,一大原因是可以进行“热更新”,不再受限于审核、上线等等繁复的流程。

AppStore里的电商类、新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。如淘宝、腾讯新闻等等。

Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。 
Hybrid App按网页语言与程序语言的混合,又分为四种类型:多View混合型、单View混合型、Web主体型和多主体共存型(灵活型)。

多View混合型    指Native View和Web View独立展示,交替出现。 
这种应用混合逻辑相对简单。即在需要的时候,将WebView当成一个独立的View(Activity)运行起来,在WebView内完成相关的展示操作。这种移动应用主体通常是Native App,Web技术只是起到补充作用。开发难度和Native App基本相当。

单View混合型即在同一个View内,同时包括Native View和Web View,互相之间是覆盖(层叠)的关系。 
这种Hybrid App的开发成本较高,开发难度较大,但是体验较好。 

如百度搜索为代表的单View混合型移动应用,既可以实现充分的灵活性,又能实现较好的用户体验。

Web主体型即移动应用的主体是Web View,主要以网页语言编写,穿插Native功能的Hybrid App开发类型。 
这种类型开发的移动应用体验相对而言存在缺陷,但整体开发难度大幅降低,并且基本可以实现跨平台。 

Web主体型的移动应用用户体验的好坏,主要取决于底层中间件的交互与跨平台的能力。Hybrid App中的Web主体型只要能够解决用户体验差的问题,就可以变成最佳Hybrid App解决方案类型。

多主体共存型(灵活型)是一种新型的开发模式,即支持Web主体型的应用,又支持以Native主体的应用,也支持两者混合的开发模式。 比如kerkee框架,它具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、具有Debug环境、彻底解决跨域问题等特点。用户体验与Native App媲美。功能方面,开发者可随意扩展接口。

3.Native App

Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。 这种原生程序一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。需要用户下载安装使用。

常用语言: 
iOS :Objective-C swift 
Android :JAVA 
Windowsphone :C++

优点: 
(1)打造完美的用户体验 
(2)性能稳定 
(3)操作速度快,上手流畅 
(4)访问本地资源(通讯录,相册) 
(5)设计出色的动效,转场, 
(6)拥有系统级别的贴心通知或提醒 
(7)用户留存率高

缺点: 
(1)分发成本高(不同平台有不同的开发语言和界面适配) 
(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本) 
(3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂

他们之间的区别对比:

Web App、Hybrid App、 Native App之间的差异_第2张图片

他们之间的技术特性对比

Web App、Hybrid App、 Native App之间的差异_第3张图片​​​​​​​

 

你可能感兴趣的:(混合开发)