Native Apps、Web Apps

来源:互联网 发布:sql server 2008 激活 编辑:程序博客网 时间:2024/06/06 12:16

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

优点:

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

缺点:

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

Web Apps

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

优点:

  • 开发成本低
  • 更新快
  • 更新无需通知用户,不需要手动升级
  • 能跨多个平台和终端

缺点:

  • 临时性的入口
  • 无法获取系统级别的通知,提醒,动效等等
  • 用户留存率低
  • 设计受限制诸多
  • 体验较差

Hybrid Apps 混合开发(H5+原生):如:微信


Hybrid Apps 指的是半原生半Web的混合类App。需要下载安装,看上去类似Native Apps,但只有很少的UI Web View ,访问的内容是web。例如:store 里的新闻类APP ,视频类APP普遍采取的是Native的框架,Web的内容

优点:

  • 兼容了Native Apps 和 Web Apps 的优点
  • 可以通过jsBridge直接访问Native API
  • 能够轻松使用跨平台Web技术
  • 测试方便

缺点:

APP的Web部分可能是驻留在服务器上的网页,封装到App代码中,存储在设备本地。

  • Hybrid Apps 代码驻留在服务器上,摈弃了任何离线可用性,因为设备与网络没有连接时,无法访问设备。(已有解决方案:本地留存)
  • 把Web代码封装到APP里面可以提高性能和可访问性,但是不允许远程更新。

嵌入形态:




参数对比:

实现技术:js、css,html






React


React.js& React Native

联系

  • UI使用的都是JSX,逻辑都是使用了JavaScript
  • 都应用了虚拟DOM(Virtual DOM)

区别

  • 对于WebApps,虚拟DOM仍然要转换成实际的DOM
  • 对于Android和iOS,虚拟DOM映射成本地控件


React Native

优势:

  • 基于React Native 的App在运行效率上接近Native App
  • 具备混合开发模式(Hybrid)的两个优点:热更新和跨平台