这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天
跨端背景
随着业务的发展,产生了越来越多的业务场景,同时随着技术的发展,产生了越来越多的端,PC端、移动端、web端、IoT设备
常见的痛点
- 功能几乎一致,各端需要单独配置研发人员
- 开发维护成本高
- 安卓 IOS发版周期长
跨端技术方案目标
- 研发效率高
- 用户体验好
- 动态化
方案介绍
- hybrid方案
- 原生渲染方案
- 自渲染方案
- 小程序方案
hybrid方案
基于webView渲染,通过JS Bridge把一部分系统能力开放给JS调用。
原生渲染方案
使用JS开发,通过中间层桥接后使用原生组件来渲染UI界面 (在样式上有点缺失,就是没法实现)
自渲染方案
更底层的实现,利用Skia重新实现渲染管线,不依赖原生组件 (Flutter是Google在2018年世界移动大会公布的开源应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。)
小程序方案
使用小程序DSL+JS开发,通过中间桥接后调用原生能力,使用webview来渲染UI界面。
技术方案对比
总结
本节课就两个点:
- 主流跨端技术方案
- 小程序的开发与实践
随着端越来越多,跨端的需要会越来越强烈,跨端技术方案也会不断迭代,核心目标仍然是这【write once,run anywhere】,未来自渲染可能会出现更多的机会。