跨端技术概述 青训营笔记

44 阅读2分钟

这是我参与第五届青训营伴学笔记的第九天

各端功能几乎一致,每个端都需要单独配置研发,维护成本高,安卓,ios发版周期长等等弊端

跨端技术方案目标

1.研发效率高

学习成本低

多端一致性高

2.用户体验好

稳定性好

性能体验好

3.动态化

支持动态化下发,满足日益增长的业务需求

跨端技术方案

hybrid方案

基于webview(可以理解为浏览器)渲染,通过js bridge 把一部分系统能力开发给js调用

它直接用浏览器

开发成本低

css全集

一致性好 c871f9052354d378b0cc99c2b7e1f3c.png

原生渲染方案

使用js开发,用原生组件渲染UI界面 react native可以开发跨平台的移动应用

oemwidgets可以缓解H5带来的卡顿

在样式上会有一些缺失,没有办法实现

性能好(用的原生组件)

缺点

css子集

一致性一般

e8854d103e05a58a2b92bf4a5afa75a.png

自渲染方案flutter(更为偏向底层)

不受组件影响

利用Skia(一个渲染引擎)重新实现渲染管线,不依赖原生组件

性能最好

一致性好

可以实现更多的css(因为不是基于原生组件)

缺点

css子集

dart生态一般

开发成本高

b26f9a578dc41714d10bc23cceba7dc.png

webView原理

b8b97770187a8ec1127c89b901cf089.png

小程序方案

使用小程序DSL+JS开发,通过中间层桥接口调用原生能力, 使用webview来渲染UI界面

开发成本低

css全集

一致性好

综合来说是一个比较好的技术方案

字节小程序

5e4826662f999518a02eab307f6e5de.png

52225a84d41a556b4bae0d7000f8310.png

3f087c32ccd06480d3589be640c31d6.png

基于场景选择最好的技术方案

e539a9afacacb5f19b3947efd1bbaa6.png

基于小程序跨端实践

快速开发一个小程序

性能优化 优化意义 1.留住用户 2.提升转换率 3.提升用户体验

小程序性能指标

让LCP尽可能提取

平台指标看板

80d88af6043a0c2466e32a34f5000c2.png

优化手段 运行时 减少同步逻辑

440701d8bd87855916ed980de3cb96d.png