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

290 阅读3分钟

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

以下为今日课上笔记内容

一.跨端是什么

1.跨端背景

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

常见痛点:

1)各端功能几乎一致,各端需要单独配置研发人员

2)开发、维护成本高

3)安卓、iOS 发版周期长

...

2.跨端技术方案目标

1)研发效率高

  • 学习成本低
  • 多端一致性高

2)用户体验好

  • 稳定性高
  • 性能体验好

3)动态化

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

二.跨端技术方案介绍

1.Hybrid 方案

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

da177df2b2d08fd04310f3a0387790b.png

f3897f4b307df394b9aa0a70afd7c0d.png

2.原生渲染方案

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

3.原生渲染方案 - React Native

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

558048fb92dabebea785a3d53a28e22.png

dc598afe685fc1d59b38fd508f68cd7.png

4.自渲染方案

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

5.自渲染方案 - Flutter

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

1675479920790.png

6.小程序方案

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

7.小程序方案 - 字节小程序

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

17bfe402d6dfa5bf427ed11bde0f5ac.png

40224dcf83faeba3789e212b084ffae.png 99957f0c1debf9bb545f00d98977735.png

8.跨端技术方案对比

b940f70197f0c3bd55c43282707008d.png

三.基于小程序跨端实践

1.快速开发一个小程序

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

2)小程序开发、调试

3)小程序上传

2.快速开发一个小程序 - 下载小程序开发者工具

0cece396a0c3a734867c4439b26fb2c.png

3.快速开发一个小程序 - 小程序开发、调试

095215e7ce22ccd535720b438838dcb.png

95f12932a7411555a5345b9f1a317a3.png

4.小程序性能优化 - 优化意义

1)留住用户

2)提升转化率

3)提升用户体验

5.小程序性能优化 - 小程序性能指标

e4c976a5996c27b29d4222bcd017b36.png

6.小程序性能优化

a5b819e798ec692b2d35c2c58047439.png

7.小程序性能优化 - 优化手段

7e1c3cf2ff739b2ca632c0a3627e20b.png

8.小程序性能优化 - 性能评分工具

0f5dc5b692988c186780cc8e13f3106.png

9.小程序性能优化 - 性能分析工具

e59b1300e660df298484d8848af67a1.png

四.总结与展望

1.课程总结

1)主流跨端技术方案

2)小程序开发与实践

2.技术展望

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