这是我参与「第五届青训营 」伴学笔记创作活动的第9天
一、跨端是什么
在业务的发展过程中,会不断地产生出更多的业务场景,比如PC端,移动端、Web端、LoT设备的等。而每种业务场景又分别对应着不同的开发技术和方案。但是对于同一业务需求,各端的功能基本都是一样的,但却因为技术的具体实现不同,需要配置单独的研发人员,造成开发、维护成本高的问题。
跨端技术的目标
1.提高研发效率
学习成本要低
多端一致性高
2.用户体验好 稳定性搞 性能体验好 动态化
支持动态化下发、满足日益增长的业务需求
跨端技术方案介绍
1.Hybrid
基于 WebView 渲染,通过 JS Bridge 把一部分系统能力开放给 JS 调用。 2.原生渲染方案 - React Native 使用 JS 开发,通过中间层桥接后使用原生组件来渲染 UI 界面。
3.自渲染方案 - Flutter 利用 Skia 重新实现渲染管线,不依赖原生组件。 4.小程序方案 使用小程序 DSL +JS 开发,通过中间层桥接后调用原生能力,使用 webview 来渲染 UI 界面。
性能优化
1.性能优化目的
留住用户
提升转化率
提升用户体验
2.小程序的性能指标
Loading View
首次绘制
最大内容绘制
加载完成
优化手段
合理使用分包
使用分包加载是优化小程序启动耗时效果最明显的手段。 移除无用文件
控制包内静态资源
减少同步逻辑
优先使用异步API
在小程序初始化代码和启动相关的几个生命周期中,应避免执行复杂的骨架框
总结
随着端越来越多,跨端的需求会越来越强烈,跨端技术方案也会不断迭代,核心目标仍然是 [write once, run anywhere] ,未来自渲染可能会出现更多机会。