这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天。
本篇笔记是对今天青训营的直播课跨端技术概述课程的归纳总结及个人感悟。
一,跨端是什么
端:PC端(Windows/Mac),移动端(安卓/IOS),web端/loT设备(车载设备/手表)等
问题:
- 各端功能几乎一致但需要单独配置人员
- 开发维护成本高
- 安卓IOS发版周期长
跨端技术方案目标:
- 研发效率高
- 用户体验好
- 动态化
二,跨端技术方案
1,Hybrid
基于webview渲染,通过JS Bridge把一部分系统能力开放给JS调用
优点:
- 开发成本低
- CSS全集
- 一致性好
缺点: 性能中等
2,原生渲染方案(React Native)
使用JS开发,通过中间层桥接后使用原生组件来渲染UI界面
优点: 性能好
缺点:
- CSS子集
- 一致性一般
3,自渲染方案(Flutter)
利用Skia重新实现渲染管线,不依赖原生组件
优点:
- 性能最好
- 一致性好
缺点:
- CSS子集
- Dart生态一般
- 开发成本较高
4,小程序方案
使用小程序DSL+JS开发,通过中间层桥接后调用原生能力,使用webview来渲染UI界面
优点:
- 开发成本低
- CSS全集
- 一致性好
缺点: 性能较好