聊聊Web App、Hybrid App与Native App的设计差异

来源:互联网 发布:js包含字符串 编辑:程序博客网 时间:2024/04/28 06:05

       我们可以看到目前主流应用程序大体分为三类:Web App、Hybrid App、 Native App。Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。而Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。

一、Web App、Hybrid App、Native App 纵向对比

1. Native App (也就是我们开发的本地IOS APP等应用)

Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。需要用户下载安装使用。

优点:

(1)打造完美的用户体验

(2)性能稳定

(3)操作速度快,上手流畅

(4)访问本地资源(通讯录,相册)

(5)设计出色的动效,转场,

(6)拥有系统级别的贴心通知或提醒

(7)用户留存率高

缺点:

(1)开发成本高(不同平台有不同的开发语言和界面适配)

(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本)

(3)同样,应用功能增加,修复BUG,更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂


2. Web APP

Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。

优点

(1)开发成本低,

(2)更新快,

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

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

缺点:

(1)临时性的入口

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

(3)用户留存率低

(4)设计受限制诸多

(5)体验较差

3. Hybrid App

Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。

兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。

例如Store里的新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。

Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。尚不完美。

二、Web App、Hybrid App、Native App 技术特性

由上图可见,Web APP 的开发基于Html5语言。而Html5语言本身又有着不可避免的局限性。正是这些局限性的存在,使得Web App在体验中要逊于Native App。同样地,现阶段的Hybrid App的性能同样低于Native App,并大部分依赖网络。

三、Web App受限制因素及设计要点

可以看出5个因素:网络环境,渲染性能,平台特性,受限于浏览器,系统限制。

1. 网络环境,渲染性能

Web APP对网络环境的依赖性较大,因为Web APP中的H5页面,当用户使用时,去服务器请求显示页面。如果此时用户恰巧遇到网速慢,网络不稳定等其他环境时,用户请求页面的效率大打折扣,在用户使 用中会出现不流畅,断断续续的不良感受。同时,H5技术自身渲染性能较弱:对复杂的图形样式,多样的动效,自定义字体等的支持性不强。

因此,基于网络环境和渲染性能的影响,在设计H5页面时,应注意以下几点:

  • 简化不重要的动画/动效
  • 简化复杂的图形文字样式
  • 减少页面渲染的频率和次数

2. 受限于浏览器

通常Web App生存于浏览器里,宿主是浏览器。不同的浏览器自身的属性不尽相同,如:浏览器自带的手势,页面切换方式,链接跳转方式,版本兼容问题等等。

基于浏览器的Web APP在打开新的模块中的页面时,大多会新开窗口来展现。例如用户在使用购物类APP时,浏览每日精选模块时,每当打开新的商品时,默认新开一个窗口。这 样的优劣势显而易见:优势是能够记录用户浏览过的痕迹,浏览过的商品,以便后续横向对比;劣势是过多的页面容易使用户迷失在页面中。

因此,Web App基于浏览器的特性,我们从设计角度应该遵循以下了两点:

1、少用手势,避免与浏览器手势冲突。

2、减少页面跳转次数,尽量在当前页面显示。

3.系统限制,平台特性

由于Html5语言的技术特性,无法调用系统级别的权限。例如,系统级别的弹窗,系统级别的通知,地理信息,通讯录,语音等等。且与系统的兼容性也会存在一些问题。以上限制通常导致APP的拓展性不强,体验相对较差。

以百度地图为例:Web版地图基于浏览器展现,因此,不能全屏显示地图,给用户的眼界带来局限感;相反,Native 版地图以全屏展现的形式,很好的拓展了用户的视野。整个界面干净简洁,首页去除冗余功能。Web 版地图耗费的流量大于Native版,且不能预先缓存离线地图。对于地理位置的判断也是基于宿主浏览器,而非Web地图本身。获取路线后,对于更换到达方式,相对来说是不便利的。

四、结语

综述所述,

一、对于设计Web APP时,应当遵循以下几点:

1. 简化

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

2. 少用

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

3. 减少

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

4. 增强

  • 增强Loading时的趣味性
  • 增强页面主次关系
  • 增强控件复用性
二、对于APP开发中:

汽车有混合动力Hybrid,移动应用同样也有混合模式。遇到开发成本高、维护成本高、更新缓慢时,可以在不影响用户体验和性能的前提下,适当考虑Hybrid App,将页面跳转次数少,手势少弹窗少的界面,尽量在网页显示,如掌上百度和淘宝客户端版,走的也是Hybrid App的路线,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。总之按照项目需求衡量利弊,合理选用开发应用程序模式。


0 0