这是我参与第五届青训营伴学笔记的第九天
各端功能几乎一致,每个端都需要单独配置研发,维护成本高,安卓,ios发版周期长等等弊端
跨端技术方案目标
1.研发效率高
学习成本低
多端一致性高
2.用户体验好
稳定性好
性能体验好
3.动态化
支持动态化下发,满足日益增长的业务需求
跨端技术方案
hybrid方案
基于webview(可以理解为浏览器)渲染,通过js bridge 把一部分系统能力开发给js调用
它直接用浏览器
开发成本低
css全集
一致性好
原生渲染方案
使用js开发,用原生组件渲染UI界面 react native可以开发跨平台的移动应用
oemwidgets可以缓解H5带来的卡顿
在样式上会有一些缺失,没有办法实现
性能好(用的原生组件)
缺点
css子集
一致性一般
自渲染方案flutter(更为偏向底层)
不受组件影响
利用Skia(一个渲染引擎)重新实现渲染管线,不依赖原生组件
性能最好
一致性好
可以实现更多的css(因为不是基于原生组件)
缺点
css子集
dart生态一般
开发成本高
webView原理
小程序方案
使用小程序DSL+JS开发,通过中间层桥接口调用原生能力, 使用webview来渲染UI界面
开发成本低
css全集
一致性好
综合来说是一个比较好的技术方案
字节小程序
基于场景选择最好的技术方案
基于小程序跨端实践
快速开发一个小程序
性能优化 优化意义 1.留住用户 2.提升转换率 3.提升用户体验
小程序性能指标
让LCP尽可能提取
平台指标看板
优化手段 运行时 减少同步逻辑