ITPub博客

首页 > 移动开发 > HTML5 > Native App及Hybrid App优缺点介绍!

Native App及Hybrid App优缺点介绍!

HTML5 作者:候鸟之恋 时间:2022-04-15 16:02:27 0 删除 编辑

Native App

在说 Hybrid App 之前不得不先讲到 Native App,这是最为传统的一种移动端开发技术。

在 iOS 和安卓中官方的开发语言是 oc/swift、java/kotlin,使用这些开发出来的 App 一般称之为原生应用。

 

优点:

原生应用一般体验较好,性能比较高,可以提前把资源下载到本地,打开速度快。

除此之外,原生应用可以直接调用系统摄像头、通讯录、相册等功能,也可以访问到本地资源,功能强大。

一般需要开发 App,原生应用应该是首选。

 

缺点:

原生应用最大的缺点就是不支持动态化更新,这也是很多大厂不完全使用原生开发的原因。

考虑一下,如果线上出现严重问题,那该怎么办呢?

首先客户端开发修复了 bug 之后,就需要重新发版、提交应用商店审核,这一流程走下来往往需要好几天的时间。gendan5.com/tagslist/%E5%AE%9E%E7%89%A9%E9%92%AF%E9%87%91/

如果发布了新版 App,用户该怎么去更新呢?答案是没法更新。他们只能重新去下载整个 App,但实际上可能只更新了一行文案,这样就得不偿失了。

除此之外,最麻烦的地方在于要兼容老版本的 App。比如我们有个列表页原本是分页加载的,接口返回分页数据。产品说这样体验不好,我们需要换成全量加载,那接口就需要做成全量的。

但接口一旦换成了全量的,老版本的客户端里面依然是分页请求接口的,这样就会出现问题。因此,接口不得不根据不同版本进行兼容。

 

Hybrid App

Hybrid App 是介于 Native 和 Web 之间的一些开发模式,一般称作混合开发。

简单来说 Hybrid 就是套壳 App,整个 App 还是原生的,也需要下载安装到手机,但是 App 里面打开的页面既可以是 Web 的,又可以是原生的。

H5 页面会跑在 Native 的一个叫做 WebView 的容器里面,我们可以简单理解为在 App 里面打开了一个 Chrome 浏览器,在这个浏览器里面打开一个 Tab 去加载线上或者本地的 H5 页面,这样还可以实现打开多 WebView 来加载多个页面。

 

优势:

Hybrid App 同时拥有 Native 和 Web 的优点,开发模式比较灵活。既可以做到动态化更新,有 bug 直接更新线上 H5 页面就行了。 也可以使用桥接(JS Bridge)来调用系统的摄像头、相册等功能,功能就不仅仅局限于浏览器了。

由于 H5 的优势,Hybrid 也支持跨平台,只要有 WebView,一套代码可以很容易跨iOS、安卓、Web、小程序、快应用多个平台。

缺点

缺点主要还是 Web App 的那些缺点,加载速度比较慢。

同时,因为受制于 Web 的性能,在长列表等场景依然无法做到和原生一样的体验。

当然加载速度是可以优化的,比如离线包。可以提前下载打包好的 zip 文件(包括 JS、CSS、图片等资源文件)到 App 里面,App 自己解压出来 JS 和 CSS 等文件。这样每次访问的是 App 本地的资源,加载速度可以得到质的提升。

如果文件有更新,那么客户端就去拉取远程版本,和本地版本进行对比,如果版本有更新,那就去拉取差量部分的文件,用二进制 diff 算法 patch 到原来的文件中,这样可以做到热更新。

但是成本也比较高,不仅需要在服务端进行一次文件差分,还需要公司内部提供一套热更新发布平台。

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014563/viewspace-2887350/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-03-02

  • 博文量
    189
  • 访问量
    127631