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

74 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天,今天学习的内容是跨端技术。将学习的知识记录下来,以便时时巩固记忆。

本堂课的重点内容

  • 跨端是什么
  • 跨端技术方案介绍
  • 基于小程序的跨端技术实践

跨端是什么

为什么会出现跨端技术:

目前存在的问题:

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

跨端技术的优势:

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

跨端技术方案介绍

Hybrid方案:

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

主要的原理是,由Native通过JSBridge等方法提供统一的API,然后用Html+Css实现界面,JS来写逻辑,调用API,最终的页面在Webview中显示,这种模式下,Android、iOS的API一般有一致性,Hybrid App所以有跨平台效果。

优点: 开发和发布都比较方便,效率介于Native App、Web App之间。

缺点: 学习范围较广,需要原生配合。

原生渲染方案:

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

React Native的思路是最大化地复用前端的生态和Native的生态,和WebNvewv容器的最大区别在于View的渲染体系。React Native抛弃了低效的浏览器内核渲染,转而使用自己的DSL生成中间格式。然后映射相应的平台,渲染成平台的组件,相对WebView容器,体验会有一定的提升,不过,渲染时需要JavaScipt和原生之间通信,在有些场景下可能会导致卡顿。另外就是,渲染还是在Native层,要求开发人员对Native有一定的熟悉度。

自渲染方案:

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

小程序方案:

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

基于小程序的跨端技术实现

小程序性能优化的意义:

  • 留住用户
  • 提升转化率
  • 提升用户体验