这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
跨端技术背景
随着业务的发展,产生了越来越多的业务场景,同时随着技术的发展,产生了越来越多的端,PC端(Windows、Mac),移动端(安卓、iOs)、web端、IoT设备(车载设备、手表)等
跨端技术方案介绍
- hybrid方案:基于WebView渲染,通过JS Bridge把一部分系统能力开放给JS调用。
- 原生渲染方案:使用JS开发,通过中间层桥接后使用原生组件来渲染UI界面。eg:React Native
- 自渲染方案:利用开源的渲染引擎Skia重新实现渲染管线,不依赖原生组件
- 小程序方案:使用小程序DSL + JS开发,通过中间层桥接后调用原生能力,使用webview来渲染UI界面。
基于小程序跨端实践
加载->展示部分主要内容->展示完整内容
- 性能优化时可以关注错误日志、性能体验、一些自定义分析
- 其中性能体验:小程序加载耗时、取消率、重启率、卡死次数占比、LCP到达率、白屏率、JS影响用户率
- 启动部分优化:
- 减少包体积:比如把一些冷门的页面放在分包中,之后再加载
- 缓存:一些重复调用的部分可以利用缓存,更快地展示
- 在启动时应用占位组件,避免长时间展示白屏,提高用户体验
- 运行时优化:
- 合理使用setdata,可以累计调用
- 按需注册自定义组件
- 导航栏适配,避免冲突
未来自渲染可能会有更多的机会?