返回

VirtualView 是什么?有什么用?

Android

在回答什么是 VirtualView 之前,我们先来看一个场景:

现有需求:天猫客户端首页全场主题动态化改造,需要接入淘宝的 Vue 前端能力。

现状:首页各业务方需要改动大量现有的 Android 原生代码,开发周期长、且上线质量难以保障。

Vue 客户端开发:

需要业务方自行开发 WebView UI 容器组件,封装自定义 H5 组件与宿主组件交互的 Native 插件,完成后开发人员需要在现有 Native 代码中嵌套 Vue 项目。

Vue Native 组件开发:

Native App 预先提供好一些通用的容器组件,业务方可以通过在线开发工具直接编写 Vue 组件代码,由开发者自行在 Native App 中加入容器组件。

技术优势

  • 分工协作,极大减少沟通成本。
  • 提高开发效率,降低开发成本。
  • 方便维护,解决技术差异带来的问题。

Vue-VirtualView 相关原理

针对 VirtualView 中的核心问题:

虚拟树:虚拟树其实并不是由节点组成的,而是虚拟组件,每个虚拟组件有自己的类型、参数和状态。

组件树:在 VirtualView 中,组件树其实是由虚拟组件组成的。

VirtualView 的使用方式

VirtualView 的使用方式非常简单,只需要在项目中引入 VirtualView SDK,然后在要使用 VirtualView 的地方添加一个 VirtualView 容器组件,即可将 Vue 组件嵌入到 Native App 中。

VirtualView 容器组件支持多种类型,包括 WebView、Hybrid、Native 等。业务方可以根据自己的需要选择合适的容器组件。

VirtualView 的效果

VirtualView 可以实现非常丰富的效果,包括:

  • 组件动态化:VirtualView 可以将 Vue 组件动态地嵌入到 Native App 中,从而实现组件的动态化。
  • 数据共享:VirtualView 可以实现 Native App 与 Vue 组件之间的数据共享,从而实现 Native App 与 Vue 组件之间的交互。
  • 事件处理:VirtualView 可以实现 Native App 与 Vue 组件之间的事件处理,从而实现 Native App 与 Vue 组件之间的交互。

VirtualView 的优势

VirtualView 具有以下优势:

  • 开发效率高:VirtualView 可以极大地提高开发效率,业务方只需编写 Vue 组件代码,即可将 Vue 组件嵌入到 Native App 中。
  • 维护成本低:VirtualView 可以降低维护成本,业务方只需维护 Vue 组件代码,即可完成 Native App 的更新。
  • 性能好:VirtualView 具有较好的性能,可以满足大多数场景的需求。

VirtualView 的不足

VirtualView 也存在一些不足,包括:

  • 内存占用高:VirtualView 会占用较多的内存,这可能会导致 Native App 的性能下降。
  • 兼容性差:VirtualView 的兼容性较差,可能会导致在不同设备上出现不同的问题。

VirtualView 的适用场景

VirtualView 适用于以下场景:

  • 需要将 Vue 组件嵌入到 Native App 中的场景。
  • 需要实现组件动态化的场景。
  • 需要实现数据共享的场景。
  • 需要实现事件处理的场景。