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

81 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

跨端是什么

  • 背景:由于发展有了更多端
  • 常见痛点
    • 各端功能几乎一致,但需要单独配置研发人员
    • 开发、维护成本高(单端bug)
    • 安卓、ios发版周期长
  • 跨端技术方案目标
    • 研发效率高
      • 学习成本低
      • 多端一致性高
    • 用户体验好
      • 稳定性高
      • 性能体验好
    • 动态化:方便新功能上线
      • 支持动态化下发,满足日益增长的业务需求

跨端技术方案介绍

Hybrid方案

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

image.png

image.png

原生渲染方案

  • 使用JS开发,通过中间层桥接后使用原生组件渲染UI界面
  • React Native:使用JS和React开发跨平台移动应用

image.png

  • 原生组件渲染效率更高,但功能更有限

image.png

自渲染方案

  • 利用Skia重新实现渲染管线,不依赖原生组件
  • Flutter:通过一套库实现多平台应用

image.png

image.png

小程序方案

  • 使用DSL+JS开发,通过中间层桥接后调用原生能力,使用webview来渲染UI界面
  • 字节小程序:全新链接用户与服务的方式,可以在宿主内便捷获取与传播

image.png

image.png

image.png

异同

image.png

基于小程序跨端实践

开发抖音小程序

image.png

优化

  • 意义
    • 留住用户
    • 提升转化率
    • 提升用户体验
  • 指标
    • 加载耗时
    • 取消率
    • 重启率
    • 卡死次数占比
    • LCP到达率
    • 白屏率
    • JS影响用户率
  • 优化手段

image.png

  • 性能评分工具
    • 调试器 - Audits
    • 调试器 - Trace

总结与展望

  • 主流跨端技术方案

  • 小程序开发与实践

  • 跨端需求会越来越强烈,技术方案也会不断迭代,核心目标仍然是"write once, run anywhere"