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

46 阅读2分钟

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

课程重点

  • 跨端是什么
  • 跨端技术方案介绍

跨端是什么

跨端背景

随着业务发展,出现了越来越多的业务场景,同时随着技术的发展,各种各样的端涌现出来,PC端,移动端,web端,IOT端等等。

常见痛点

  1. 各端功能几乎一致,各端需要单独配置研发人员
  2. 开发、维护成本高
  3. 安卓、ios发版周期长

跨端技术方案目标

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

跨端技术方案介绍

  • hybrid方案
  • 原生渲染方案
  • 自渲染方案
  • 小程序方案

hybrid方案

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

原生渲染方案

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

原生渲染方案-React Native

React Native是一款由FACEBOOK在2015年9月开源发布的一款JavaScript框架,可以让开发者使用JavaScript和React来开发跨平台的移动应用。

image.png

自渲染方案

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

自渲染方案-Flutter

Flutter 是 Google 在 2018 年世界移动大会公布的开源应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用。

image.png

小程序方案

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

小程序方案 - 字节小程序

字节小程序是一种全新的连接用户于服务的方式,它可以在宿主(抖音、头条等App)内被便携地获取和传播,同时具有出色的使用体验。

跨端技术方案对比

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

总结

这次课程让我对跨端技术有了深入的了解,随着端越来越多,跨端的需求也会越来越强烈,技术方案也会不断迭代,自渲染可能会出现更多机会