跨端技术 | 青训营笔记

119 阅读2分钟

跨端技术概述

跨端是什么

跨端背景

随着业务的发展,产生了越来越多的业务前景,同时随着技术的发展,产生了越来越多的端,PC 端(Windows、Mac),移动端(安卓、IOS)、web端、loT 设备(车载设备、手表)等

常见痛点:

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

跨端技术方案目标

  1. 研发效率高

    1. 学习成本低
    2. 多端一致性高
  2. 用户体验好

    1. 稳定性高
    2. 性能体验好
  3. 动态化

    • 支持动态化下发,满足日益增长的业务需求

跨端技术方案介绍

Hybrid 方案

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

原生渲染方案

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

React Native

React Native 是一个由 Facebook 于 2015年9月发布的一款开源的 JavaScript 框架,它可以让开发者使用 JavaScript 和 React 来开发跨平台的移动应用image.pngimage.pngimage.png

自渲染方案

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

Flutter

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

小程序方案

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

字节小程序

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

跨端技术方案对比

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

基于小程序跨端实践

快速开发一个小程序

  1. 下载小程序开发者工具

下载地址:developer.open-douyin.com/docs/resour…

小程序开发文档:developer.open-douyin.com/docs/resour…

image.png

  1. 小程序开发、调试

image.png

  1. 小程序上传

image.png

小程序性能优化

优化意义
  1. 留住用户
  2. 提升转化率
  3. 提升用户体验
小程序性能优化指标

image.png

平台指标看板image.pngimage.png

优化手段

image.png

性能评分工具

image.pngimage.png