首页/新闻资讯/正文详情

Hippy 3.0 前端框架升级实战:hippy-react、hippy-vue、hippy-vue-next 的 SDK 升级、API 变更与验证要点

发布时间:2026/9/25 11:30:42 来源:云帆数科 栏目:资讯中心
Hippy 3.0 前端框架升级实战:hippy-react、hippy-vue、hippy-vue-next 的 SDK 升级、API 变更与验证要点
跨平台移动开发前端【免费下载链接】HippyHippy is designed to easily build cross-platform dynamic apps. 项目地址https://gitcode.com/gh_mirrors/hi/Hippy点击查看免费下载本文围绕 Hippy 3.0 前端 SDK 的升级指引展开覆盖 hippy-react、hippy-vueVue 2.x、hippy-vue-nextVue 3.x三类框架的依赖升级步骤、组件与接口变更点、升级后的验证关注点以及 3.0 带来的 Performance API 与 Layout 引擎切换等新特性。读完后你可以按版本组合完成业务工程的依赖升级、重编 JS common 包并对 Move 操作、事件冒泡/捕获、动画表现等重点场景做回归验证。升级依赖项变更升级 3.0 的第一件事是核对业务工程中各hippy/*包与react/vue的版本组合。下面按框架分别给出官方指引中的完整升级清单。hippy-react如果业务目前使用 React 来开发 Hippy需先确认两个前置条件当前hippy/react的版本以及工程中react的版本16 还是 17。场景一hippy/react版本小于 2.12.0且 React 使用的是 16 的版本需要升级如下版本1删除 react-reconciler 依赖 2hippy/react 升级到 3.3.0 及以上 3新增 hippy/react-reconciler 依赖使用react17的tag即 hippy/react-reconciler: react17 4React 版本升级到 17即 react: ^17.0.2 5如果使用了 hippy/react-web 包做h5同构则需要升级 hippy/react-web 到 3.3.0 及以上场景二hippy/react版本大于 2.12.0且 React 使用的是 17 的版本需要升级如下版本1hippy/react 升级到 3.3.0 及以上 2升级 hippy/react-reconciler 依赖使用react17的tag即 hippy/react-reconciler: react17 3如果使用了 hippy/react-web 包做h5同构则需要升级 hippy/react-web 到 3.3.0 及以上需要业务使用新的 hippy-react 重编 js common包。这一点可以直接从仓库源码得到印证hippy-react 的 package.json 中dependencies已经固定为hippy/react-reconciler: react17与react: ^17.0.2且不再包含旧的react-reconciler依赖与上述升级清单完全一致。hippy-vue如果业务目前使用 Vue 2.x 来开发 Hippy需要升级如下版本依赖1hippy/vue 升级到 3.3.1-rc.1 及以上 2hippy/vue-native-components 升级到 3.3.0 及以上 3hippy/vue-router 升级到 3.3.0 及以上 4hippy/vue-css-loader 升级到 3.3.0 及以上 5hippy/vue-loader 升级到 3.3.0 及以上 6vue 和 vue-router 等vue相关依赖无需升级需要业务使用新的 hippy-vue 重编 js common包。hippy-vue-next如果业务目前使用 Vue 3.x 来开发 Hippy需要升级如下版本依赖1hippy/vue-next 升级到 3.3.0 及以上 2hippy/vue-css-loader 升级到 3.3.0 及以上 3hippy/vue-router-next-history 升级到 0.0.1 4vue 和 vue-router 等vue相关依赖无需升级需要业务使用新的 hippy-vue-next 重编 js common包。可以对照仓库确认这几个包均已包含在 monorepo 中hippy-vue、hippy-vue-next、hippy-vue-native-components、hippy-vue-css-loader、hippy-vue-loader其中hippy/vue-next声明了对vue/runtime-core3.4.32、vue/shared3.4.32的 peerDependencies这也呼应了vue 相关依赖无需升级的前提——3.0 SDK 是与现有 Vue 3.x 运行时对齐的升级压力集中在hippy/*一层。接入与使用方式变更接入 Hippy-React、Hippy-Vue、Hippy-Vue-Next SDK 的代码方式无变化可参考 前端集成指引。具体变化点如下iOS 新增节点层级优化算法Android 优化了现有的层级优化算法。 该算法会将仅参与布局的 View 节点优化去除从而提升渲染效率。请注意由于该算法的存在可能导致依赖特定 UI 层级结构的 native 组件发生找不到特定 View的异常。 此时可以通过前端代码中给特定 View 增加collapsable: false属性来禁止该节点被优化算法去除。从源码结构看collapsable是一个跨端落地的节点属性而不仅仅存在于前端 SDKAndroid 端的 NodeProps.java、HarmonyOS 端的 hr_node_props.h 均定义了对应的属性解析前端侧 view.tsx 等基础组件也透传了该属性。也就是说当某个自定义 native 组件如需要按层级查找子 View 的容器在 3.0 下报错时第一步排查就应是给被拍平掉的中间 View 补上collapsable: false。组件变更以下 5 个组件级变更是升级时最容易踩坑的地方需逐条自查dialog 组件第一个子元素不能设置{ position: absolute }样式。如果想将 dialog 内容铺满全屏可以给第一个子元素设置{ flex: 1 }样式或者显式设置 width 和 height 数值。Image 组件废弃了source、sources、srcs字段建议使用src字段代表图片 url。iOS Image 组件默认没有实现图片缓存由于实现机制的变化需要业务 iOS 端自行实现缓存管理详细可参考 iOS 升级指引。hippy-vue scoped 样式隔离2.15 以前的版本不支持 scoped 样式隔离2.15–2.17 的版本如果没有开启Vue.config.scoped true;也不支持 scoped 样式隔离。Vue 3.0 默认开启 scoped无需设置开关。hippy-vue 布局属性书写方式height、width等布局属性在 3.0 的版本将不支持放在自定义属性里如div :height36 :width36 需要放在style属性中如div :style{height: 36, width: 36} 第 5 点的背景可以从 C DOM 侧得到解释3.0 中节点属性统一走 DOM 层的属性解析见 node_props.hheight/width这类布局语义被归入 style 通道处理而不再作为节点属性透传因此旧写法在 3.0 下会静默失效必须迁移到:style中。接口定义变更3.0 对前端接口面做了收敛以下是 5 个明确的变更点hippy-react 不再导出RNfqb、RNfqbRegister、RNfqbEventEmitter、RNfqbEventListener方法。业务侧如有引用需要移除或替换。hippy-react animation 模块建议统一使用destroy()仍兼容历史错误写法destory()已标记废弃后续可能移除。hippy-react animation 事件监听不再支持onRNfqbAnimationXX兼容写法统一用onHippyAnimationXX或者onAnimationXX。动画对象的初始化时机hippy-react 初始化动画对象new Animation需要在根节点渲染之后否则会因为 Dom Manager 未创建提示报错hippy-vue/hippy-vue-next 初始化动画对象new Animation需要在Vue.start 回调之后否则会因为 Dom Manager 未创建提示报错。颜色渐变动画需显式指定 valueTypehippy-react/hippy-vue/hippy-vue-next 如果使用了颜色属性的渐变动画需要显式指定 color 单位添加valueType: color字段例如animation: new Animation({ startValue: red, toValue: yellow, valueType: color, // 颜色动画需显式指定color单位 duration: 1000, delay: 0, mode: timing, timingFunction: linear, }),从源码结构看第 4、5 点的变化与 3.0 的实现迁移方向一致动画不再走 JS bridge 模块而是下沉到 C DOM 模块实现仓库中 animation.h、animation_manager.h、cubic_bezier_animation.h 等头文件对应了这一层 C 实现。由于 C 侧需要依据valueType区分颜色插值与数值插值颜色动画才必须显式标注单位而Dom Manager 未创建的报错则直接对应动画管理器挂载在 DOM 场景之上的生命周期约束。验证关注点Hippy 3.0 前端架构的四大改动点Hippy 3.0 前端架构升级主要有如下改动点JS 驱动上屏的方式由UIManagerModule变为了SceneBuilder。Node API 重新实现了 Move 计算逻辑。Event 由前端分发变为 DOM 分发。动画由 bridge 模块变为 C DOM 模块实现。这四点都能在仓库中找到落点旧的上屏通道 UIManagerModule.js 仍然存在但 3.0 的节点上屏走 scene_builder.h / scene_builder.cc 这条 C 链路Move 重算与事件分发则落在 DOM 层的节点与 diff 逻辑如 diff_utils.h中。回归验证的三个重点升级后需要验证关注界面的 UI 视图渲染正常UI 结构、样式属性等特别关注 Hippy-React/Vue 中因为条件渲染语句产生的节点Move操作表现是否正常——由于 Move 计算逻辑重新实现v-if/条件渲染导致的列表项增删移动是回归重点UI 事件点击、滑动等表现正常特别关注事件冒泡、捕获等表现是否正常——事件分发主体从前端换成了 DOM 层事件链路的顺序与终止行为需要重点验证关注动画表现是否正常——动画实现主体迁移到 C DOM 模块timing 函数、颜色渐变、延迟与循环等参数表现需要逐一核对。新特性Performance APIHippy 3.0 实现了基于前端规范设计的性能 API接入方式可参考 Performance。Layout 引擎支持切换Hippy 3.0 支持了 Layout 引擎的无缝切换项目可保持Yoga引擎也可以选择 Hippy 自研的Taitank引擎。详情可参考 Layout。从源码结构看两种引擎以布局节点的策略类形式共存于 DOM 层yoga_layout_node.h 与 taitank_layout_node.h 分别对接 Yoga 与 Taitank上层的 layout_node.h 负责统一抽象这正是无缝切换能够成立的结构基础——业务侧无需感知布局引擎差异。小结3.0 的前端升级可以概括为三步一是按框架版本组合完成hippy/*依赖升级并重编 JS common 包二是处理组件与接口层面的 55 个变更点dialog 子元素布局、Image 字段与缓存、scoped 开关、:style布局属性、RNfqb 系列 API 移除、destroy 拼写、动画初始化时机与valueType: color三是围绕 Move 操作、事件冒泡/捕获、动画表现三条主线做回归必要时用collapsable: false修复层级优化导致的 native 组件查找异常。升级的接入代码本身无需变化成本主要集中在依赖版本核对与行为回归上。赞分享跨平台移动开发前端【免费下载链接】HippyHippy is designed to easily build cross-platform dynamic apps. 项目地址https://gitcode.com/gh_mirrors/hi/Hippy点击查看免费下载相关推荐Hippy 3.0 架构升级指引React / Vue / Android / iOS SDK 适配完整实践Hippy 3.0 架构升级指引React / Vue / Android / iOS SDK 适配完整实践 本文基于 Hippy 官方升级文档系统讲解 H跨平台移动开发前端Hippy-Vue-Next 完全指南基于 Vue3 的 Hippy 跨端渲染框架、SSR 服务端渲染与 API 差异详解Hippy Vue Next 完全指南基于 Vue3 的 Hippy 跨端渲染框架、SSR 服务端渲染与 API 差异详解 本文以 Hippy 仓库的官方文档跨平台移动开发前端Hippy-Vue 路由实战hippy/vue-router 接口、原生返回键与 HippyHistory 实现解析Hippy Vue 路由实战hippy/vue router 接口、原生返回键与 HippyHistory 实现解析 Hippy Vue 使用对 vue r跨平台移动开发前端上一篇WarcraftHelper3分钟让你的魔兽争霸3在现代电脑上流畅运行下一篇5分钟快速上手Mermaid Live Editor无需代码基础让图表创作变得如此简单创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

STM32 DMA+IDLE+状态机:SBUS协议高效解析实战
STM32 DMA+IDLE+状态机:SBUS协议高效解析实战

1. 项目缘起与整体设计思路SBUS 协议在航模、无人机、机器人遥控领域用得非常多,它本质上是一根反相串口线,波特率 100000、8 数据位、偶校验、2 停止位,每 14ms 发一帧 25 字节的数据,一帧里塞了 16 个通道的遥控值外加 flags 和… · 2026/9/25 11:30:11

P201Pro与GNU Radio实战:AD9361 SDR链路QPSK星座图调试全解析
P201Pro与GNU Radio实战:AD9361 SDR链路QPSK星座图调试全解析

1. 从一根天线到一串比特:这条链路到底在做什么把一台 P201Pro 插上电脑,打开 GNU Radio,拖几个模块连起来,屏幕上就能看到 QPSK 的星座点簇——这件事听起来像是"点几下鼠标"的活儿,但真正做过的人都知道&a… · 2026/9/25 11:30:05

PaiAgent 实时调试实战:SSE流式输出,像看直播一样观察AI生成过程(完整教程)
PaiAgent 实时调试实战:SSE流式输出,像看直播一样观察AI生成过程(完整教程)

PaiAgent 实时调试实战:SSE流式输出,像看直播一样观察AI生成过程(完整教程) 【免费下载链接】PaiAgent 🔥轻量级的AI工作流编排系统,类似dify、n8n,全程使用Vibe Coding,AI工具为Qod… · 2026/9/25 11:30:05

DeskcommCRM:以沟通为中心的桌面型CRM系统设计与实现
DeskcommCRM:以沟通为中心的桌面型CRM系统设计与实现

从第一次听到“DeskcommCRM”这个名字开始,我就觉得它比一般的“某某管理系统”更有指向性——Desk 是桌面、工位,Comm 是 Communication,合在一起就是“桌面沟通型 CRM”。这个命名其实直接点出了产品的核心假设:对客服坐席、电话… · 2026/9/25 12:06:57

Win10蓝屏排查实战:用WinDbg分析dmp文件定位真凶
Win10蓝屏排查实战:用WinDbg分析dmp文件定位真凶

1. 先别急着重装系统,我踩过的蓝屏坑都替你趟了做电脑维护这些年,被问到最多的问题就是“win10蓝屏怎么解决”。说实话,每次听到“百分百解决”这种词,我心里都打鼓。真要敢拍这个胸脯,除非后面加一句“硬件损坏除外”… · 2026/9/25 12:06:57

Web云存储硬盘系统实战:Spring Boot+Vue实现文件上传、分片与秒传
Web云存储硬盘系统实战:Spring Boot+Vue实现文件上传、分片与秒传

简介:面向计科、信息安全、大数据、人工智能等计算机相关专业学生的完整毕业设计项目资料包,围绕Web云存储硬盘系统的设计与实现展开,覆盖需求分析、概念建模、数据库设计、前后端编码、论文撰写与格式修订全过程。既适合在校学生用作大作业、… · 2026/9/25 12:06:45

朝阳区广受信赖的厨卫局改专业公司用户力荐,成立多年靠谱省心
朝阳区广受信赖的厨卫局改专业公司用户力荐,成立多年靠谱省心

北京乐桥装饰装修有限公司作为北京本地深耕厨卫局部翻新的实体服务商,核心业务聚焦老房厨卫翻新、标准化家修吊顶拆装、厨卫局部改造、家电配套改造等厨卫局改相关服务,为老旧小区住户、家电换新家庭等客群提供一站式的厨卫焕新解决方案。企业基础概况北… · 2026/9/25 12:06:38

Oracle 12c Windows客户端静默安装与OCI环境配置实战
Oracle 12c Windows客户端静默安装与OCI环境配置实战

简介:本资源为Oracle Database 12c官方Windows 64位客户端完整安装包,面向数据库管理员、Java/PL/SQL开发者及企业级应用运维人员,解决跨平台连接Oracle数据库、执行SQL/PLSQL、配置网络服务等核心需求。压缩包含1144个文件,主体为… · 2026/9/25 12:06:38

杭州滨江口碑好的全屋设计定制服务商推荐:忆家家居(宁围展厅)服务覆盖实力
杭州滨江口碑好的全屋设计定制服务商推荐:忆家家居(宁围展厅)服务覆盖实力

在杭州滨江准备装修全屋定制,不少业主都会反复搜索几个问题:杭州滨江哪里能找到口碑靠谱的全屋设计定制服务商?本地做全屋整装,哪些细节是容易踩坑的?选服务商的时候,哪些硬实力是必须要确认的?Q1:杭州滨江业主找全… · 2026/9/25 12:06:38

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码