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

106 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第21天,学习的是关于跨端技术的相关知识。

跨端是什么?

跨端背景

  • 业务发展 → 业务场景增加
  • 技术发展 → 端口增加 → 痛点出现 → 跨端诉求

端口:PC端(Windows、Mac)、移动端(安卓、iOS)、web端、IoT设备(手表、车载设备)

痛点: 各端功能雷同,但不同的端需要不同的研发人员; 开发、维护成本高; 安卓、iOS发版周期长

跨端技术方案目标

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

跨端技术方案介绍

Hybrid方案

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

image.png

原生渲染方案

使用JS开发,最后用原生组件渲染UI界面.

react native: 支持开发者使用JS和react来开发跨平台的移动应用。

image.png

自渲染方案

利用skia,不依赖原生组件.

Flutter: 用一套代码库构建精美的、原生平台编译的多平台应用。

image.png

小程序方案

使用小程序DSL+JS开发,利用webview渲染UI界面.

字节小程序: 全新的连接用户与服务的方式,在宿主(抖音、头条等app)内被便捷地获取和传播,使用体验出色。

image.png

跨端技术方案对比

技术方案视图层逻辑层优点缺点
Hybrid方案webviewwebview JS thread开发成本低;CSS全集;一致性好性能中等
原生渲染方案原生组件JS Engine性能好CSS子集;一致性一般
自渲染方案skiaDart VM性能最好;一致性好CSS子集;Dart生态一般;开发成本高
小程序方案webview+原生组件JS Engine开发成本低;CSS全集;一致性好性能较好

基于小程序跨端实践

快速开发一个小程序

1、下载开发工具

2、开发与调试

  • 编辑区:代码开发
  • 模拟器:展示相应内容
  • 调试工具:系统根据问题提供合适的调试工具

3、上传

小程序性能优化

优化意义

  1. 留住用户
  2. 提升转化率
  3. 提升用户体验

优化步骤

  1. 了解性能指标
  2. 平台指标看板

优化手段

  1. 减少不必要的加载项,及时更新并清理垃圾文件、缓存访问频次高的结果等

image.png

  1. 优化setData、内存、自定义组件,提升用户体验

image.png

性能评分工具

检测存在的问题

性能分析工具

对具体的问题进行相应的优化