跨端技术概述 | 青训营笔记

79 阅读2分钟

这是我参与[第五届青训营]笔记创作活动的第九天

本课堂重点内容:

  • 何为跨端
  • 跨端技术方案介绍
  • 基于小程序的跨端实践

详细知识点介绍:

跨端背景:

  • 随着业务发展,产生了越来越多的业务场景,同时伴随着技术的发展,产生了越来越多的端,PC端,移动端等。
  • 痛点:
  1. 各端功能几乎一致,各端需要单独配置研发人员
  2. 开发、维护成本高
  3. 安卓、IOS 发版周期长

跨端技术方案目标:

  1. 研发效率高:学习成本低,多端一致性高
  2. 用户体验好:稳定性高,性能体验好
  3. 动态化:支持动态化下发,满足日益增长的业务需求

跨端技术方案介绍:

1. Hybrid 方案:

基于 WebView 渲染,通过 JS Bridge 把一部分系统能力开放给 JS 调用

2. 原生渲染方案:

使用 JS 开发,通过中间层桥接后使用原生组件来渲染 UI 界面

3. 自渲染方案:

利用 Skia 重新实现渲染管线,不依赖原生组件

4. 小程序方案:

使用小程序 DSL + JS 开发,通过中间层桥接后调用原生能力,使用 webview 来渲染 UI 界面

跨端技术方案对比:

技术方案视图层逻辑层优点缺点
hybrid 方案webviewwebview JS thread1.开发成本低
2.CSS全集
3.一致性好
性能中等
原生渲染方案原生组件JS Engine性能好1. CSS子集
2.一致性一般
自渲染方案SkiaDart VM1.性能最好
2.一致性好
1.CSS 子集
2.Dart 生态一般
3.开发成本较高
小程序方案webview + 原生组件JS Engine1.开发成本低
2.CSS全集
3.一致性好
性能较好

小程序性能优化

小程序性能是指小程序在字节系APP中加载和呈现的速度,以及用户交互的响应速度。小程序性能优化有三个意义:提升用户体验、提升转化率、留住用户群体。

小程序性能的优化手段:

个人课后总结:

随着端越来越多,跨端的需求会越来越强烈,跨端技术方案也会不断迭代,核心目标仍然是【write once,run anywhere】,未来自渲染可能会出现更多机会。