这是我参与【第五届青训营】笔记创作的第九天。
主要关于跨端技术,跨端的背景、概念,技术方案,还有关于小程序跨端实践的基本知识。
随着业务的发展,产生了越来越多的业务场景;随着技术的发展,产生了各种不一样的端,PC端、移动端、web端、IoT设备等。
各端功能几乎一致,但需要单独配置研发人员,开发、维护成本高,安卓、ios发版周期长。
于是,其技术方案目标有:研发效率高、用户体验好、动态化。
技术方案
Hybird方案:基于WebView渲染,通过JS Bridge把一部分系统能力开放给JS调用。
开发成本低、css全集、一致性好,可以比较好的满足用户需求。
原生渲染方案:使用JS开发,通过中间层桥接后使用原生组件来渲染UI界面。(React Native)
性能好,但css子集、一致性一般
自渲染方案:利用Skia重新实现渲染管线,不依赖原生组件。不用受到系统的限制。( Flutter:通过一套代码库就可以构建精美的、原生平台编译的多平台应用。)
性能最好,一致性很好。
小程序方案:使用小程序DSL+JS开发,通过中间层桥接后调用原生能力,使用Webview渲染UI界面。
开发成本低、css全集、一致性好,对比Hybird方案,性能较好。不是最好。
一般使用Hybird方案,要更好的性能,会选择原生渲染方案或者自渲染方案。小程序方案一般作为产品方案。
小程序跨端实践
先下载一个小程序开发者工具,再了解小程序的开发、调试,最后上传。审核通过后便可上线。
小程序性能优化
优化意义:留住用户、提升转化率、提升用户体验。
通过查看小程序性能指标(开发后台可以看到),再采取措施来提升性能。
优化手段:
启动性能体验:减少包的体积(合理分配包、减少无用文件)、减少同步逻辑、更早的展示首屏数据、图片优化、合理数据缓存等;
运行时性能体验:合理使用setData(动画不推荐)、合理使用自定义组件(不宜太多,按需求来)、合理监听处理事件(有场景再监听)、内存优化、导航栏适配(防止内容重叠)、x分屏适配。
可使用性能分析工具。
总结
随着技术的发展,端越来越多,跨端的需求越来越多,跨端技术也会不断发展、进步,我们需要不断学习。