jsBridge

Hybrid就是Native、H5混合开发技术 Android有 webview 、iOS 有 UIWebview和 WKWebview

前置知识:

app的分类:1.web-app;2.native-app;3.hybrid-app

1.web-app

本质上就是手机上的pc端,他所有的功能都是通过js开发,不涉及到本地功能(图片、扫码)等,全是在手机浏览器中展示。他严格意义上不能称为app,因为用户不需要安装app,只是在手机浏览器上展示的pc。缺点: 1.无法获取系统级别的通知,提醒,动效等等。

2.用户留存率低 设计受限制诸多 体验较差。

2.native-app

native-app就是我们通常说的原生app,分为Android开发和IOS开发。Android基于Java语言,底层调用Goolge提供的API,IOS基于Objective c或Swift,底层调用Apple官方提供的Api。他的优势在于,和手机系统的交互更好,可实现功能强大。 缺点:跨平台能力差;更新周期慢(具体表现在每次更新发布都需要等待审核,没有webview远端获取灵活,不用审核)

3.hybrid-app

hybrid就是目前主流的混合应用开发,就是将上述两者结合起来。或者说:将原生app中相对来说灵活变动的内容&UI对应的地方让出来,交给webview去加载html展示给用户。这样既保证了功能的强大性,有具有了相对的灵活性。缺点:虽然弥补了一定的灵活性,但是相比原生性能上有很大的损耗,因此不适用于交互性较强的App。

背景

hybrid混合开发 是针对移动端开发的一种开发模式:历史的移动端开发是专门的安卓、ios开发,使用的开发功能都是在app安装包中构建好的,安装在移动端的,如果要更改功能或者UI的话,需要提示用户应用软件升级,这就显得非常的麻烦。如果可以将移动端中的功能更新也像pc端中的网页那样,需要向远端请求更新就行,而不用更新整个软件安装包,那就好了。但是有些全部改成纯网页有不能完全覆盖移动端工功能。因此两个各取其长,对于那些展示的或者可以替代本地功能的使用html & js开发,通过webview展示,其他的还是使用native开发。这种开发模式就是hybrid开发。

那么使用hybrid开发真的是没有任何缺点的嘛? 拥有了灵活性的同时,性能降低。这里的性能是针对谁的性能,对应的性能指标是什么?

概括性来讲:通常所说的webview的性能问题,就是针对从打开webview页面,到可以和用户交互的这段用户等待时间,作为衡量的指标,而这也是影响用户留存率的重要因素。

分析webivew性能,要想分析webview为什么慢?我们就得知道webview加载渲染的流程是什么,以及是在哪个流程慢,我们可以在哪几个流程优化。 不同于pc端浏览器,我们打开app加载页面这期间的用户等待时间,还要额外加上启动webview的时间,因为打开app的时候不会打开并初始化webview的,因此,在移动端中的首屏时间需要计入初始化webview的时间。 www.zhihu.com/question/45...

相关推荐
加油乐3 分钟前
JS计算两个地理坐标点之间的距离(支持米与公里/千米)
前端·javascript
小小小小宇3 分钟前
前端在 WebView 和 H5 环境下的缓存问题
前端
懒羊羊我小弟7 分钟前
React JSX 语法深度解析与最佳实践
前端·react.js·前端框架
冷冷清清中的风风火火11 分钟前
关于敏感文件或备份 安全配置错误 禁止通过 URL 访问 Vue 项目打包后的 .gz 压缩文件
前端·vue.js·安全
小行星12523 分钟前
前端根据后端返回的excel二进制文件流进行导出下载
前端·excel
Moment32 分钟前
前端远程面试全记录:项目、思维、管理一个不落 😔😔😔
前端·javascript·面试
snakeshe10101 小时前
React Lane模型:优先级与批处理的解耦革命
前端
闲不住的李先森1 小时前
使用 ts-enum-next 优雅的管理 typeScript enum
前端·typescript·代码规范
渔夫正在掘金1 小时前
一种TypeScript类独特的双重继承模式
前端·javascript·typescript
阿阳热爱前端1 小时前
BongoCat 桌宠全新升级!开源 × 跨平台,快来撸猫!
前端·rust·app