C

CPF-RN

CPF-RN属于开源鸿蒙跨平台框架 RN SIG,用于孵化及运营React Native相关的开源项目

公告

README

React Native for OpenHarmony (RNOH)

将 React Native 开发体验完整带入鸿蒙生态 (OpenHarmony)。高性能桥接、完整 Fabric 支持,让 RN 应用无缝运行于鸿蒙。

MIT License RNOH Framework RNOH Libraries


目录


项目简介

RNOH (React Native for OpenHarmony) 是 OpenHarmony 系统级的 RN 渲染后端与原生桥接实现。

核心特性:

  • 使用 React 语法及 React Native 生态库直接构建鸿蒙应用
  • 深度融合 ArkUI NDK,性能接近原生
  • 完整 Fabric 架构支持
  • MIT 协议开源

快速链接

资源 地址
RNOH 框架仓库 gitcode.com/openharmony-RN/ohos_react_native
三方库使用文档 gitcode.com/OpenHarmony-RN/usage-docs
NPM 包 @react-native-oh/react-native-harmony

最新通知

RNOH 0.82.30 正式发布

Stable

首个 0.82 稳定演进版本

  • 适配 RN 0.82 新架构
  • Hermes 内存优化

📅 发布时间: 2026-5-20 📦 查看 NPM 版本

其他版本

版本 状态 说明 发布时间
0.84.x Preview 构建分支开放预览,hermesV1成为默认 2026-Q2
0.77.x LTS 新架构增强 2026-03-20
0.72.x LTS 长期维护版本,稳定可靠 2026-03-15

版本演进

RNOH 社区版本致力于在鸿蒙设备上提供与 React Native 上游尽可能一致的开发体验。

适配策略:

  • 对齐上游版本节奏,聚焦关键版本
  • 优先适配对业务与生态影响最大的版本
  • 平衡稳定性与创新,引入上游特性更新和性能优化

2026 年计划适配 4 个关键版本(上游规划 6 个 release)。

版本路标

timeline
    title RNOH 版本路标(已交付 / 进行中 / 规划)
    section 已交付
        2023 Q4 : 0.72 LTS 首版
        2025 Q3 : 0.77 稳定版
        2026 Q1 : 0.82 RC版
    section 进行中与规划
        2026 Q2 : 0.84 构建中
        2026 Q3 : 0.86 见版本矩阵
        2026 Q4 : 0.88 见版本矩阵

季度规划:

季度 版本 状态
Q1 0.82.x ✅ 已发布
Q2 0.84.x 🚧 适配中
Q3 0.86.x 📋 规划中
Q4 0.88.x 📋 规划中

支持矩阵

版本 上游发布 RNOH 状态 RNOH 发布 支持周期
0.89.x 2026-12-07 - - -
0.88.x 2026-10-12 适配计划 - 2026 Q4
0.87.x 2026-08-10 - - -
0.86.x 2026-06-08 适配计划 - 2026 Q3
0.85.x 2026-04-06 - - -
0.84.x 2026-02-09 适配计划 - 2026 Q2
0.83.x 2025-12-08 - - -
0.82.x 2025-10-06 ✅ 已适配 2026 Q1 长期支持
0.77.x 2025-01-21 ✅ 已适配 2025 Q3 长期支持
0.72.x 2023-06-21 ✅ 已适配 2023 Q4 LTS

版本特性

0.84.x 特性
特性 说明
Hermes V1 Default Hermes V1 成为默认 JS 引擎,编译器和 VM 重大改进,JS 性能显著提升
Node.js 22+ 要求 Node.js v22.11+
0.82.x 特性
特性 说明
New Architecture Only 新架构成为唯一架构
Experimental Hermes V1 Hermes V1 实验性支持,编译器和 VM 改进提升性能
React 19.1.1 提升 useDeferredValuestartTransition 在 Suspense 边界的可靠性
DOM Node API 原生组件通过 refs 提供类似 DOM 的节点
0.77.x 特性
特性 说明
New CSS Features 新 CSS 特性,优化布局、尺寸和混合
CLI Updates CLI 和模板更新
0.72.x 特性
特性 说明
New Metro Features 新 Metro 特性
Developer Experience 开发者体验改进
New Architecture Updates 新架构更新迁移

RNOH 与 RN 版本关系

详细版本号命名规则、采用策略与开发者协同建议,请参阅:RNOH与RN版本关系


RNOH 与 RN 社区共性问题清单

RNOH 与 RN 社区在开发、适配和迁移过程中的共性问题(Yoga 浮点舍入误差、onLayout 无限循环等),请参阅:RNOH与RN社区共性问题清单


问题定位

RNOH 语料已进入 Gemini、DeepSeek、GLM 等主流 AI 模型

推荐使用 AI 工具结合日志与上下文快速定位问题。提供 错误堆栈 + RNOH 版本 + 设备型号 可获得精准的根因分析与修复建议。

稳定性问题

步骤 操作
1. 收集日志 使用 DevEco Studio 获取 crash 日志或 tombstone
2. 分析堆栈 重点关注 libRNOH.solibreact_nativemodule.so 符号
3. 常见原因 线程未同步、NativeModule 生命周期错误、内存越界
4. AI 提示词 "RNOH 0.82 在鸿蒙折叠屏上打开 Modal 闪退,堆栈如下:…… 请分析可能原因。"
5. 验证方案 隔离可疑模块,使用 AddressSanitizer 检测

性能问题

步骤 操作
1. 抓取数据 React DevTools Profiler + 鸿蒙 DevEco Profiler
2. 识别瓶颈 JS 线程阻塞、UI 线程掉帧、过度渲染
3. 优化手段 FlashList 替代 FlatList、避免匿名函数、启用 Hermes 并发 GC
4. AI 提示词 "RNOH 0.77 长列表滑动卡顿,JS 线程占用 80%,请给出优化策略。"
5. 验证 对比优化前后帧率曲线

工程问题

步骤 操作
1. 编译错误 检查 git submodule、CMakeLists 依赖、RNOH 与 RN 版本对齐
2. 链接错误 确认 so 库完整打包,使用 readelf 检查符号
3. 模块未找到 检查 TurboModule 注册与 Codegen 生成
4. AI 提示词 "RNOH 编译报错 undefined symbol: jsi::Value,环境 0.82,如何解决?"
5. 复现隔离 新建最小 demo 工程逐步添加模块定位

推荐工作流: 粘贴错误堆栈 + 版本信息 + 设备型号 → AI 提供根因与补丁建议 → 提效 80%


社区运作规范

RNOH 社区建立了完整的运作规范体系,确保协作高效、代码可追溯、版本可控。

规范文档索引

规范名称 说明 文档链接
仓库分支管理规范 分支模型、命名规范、合并流程、版本生命周期 查看详情
开发者共建指南 代码提交全流程、Commit/PR/Changelog 联动、DCO 签署 查看详情
Commit 和 PR 规范 Commit 格式、Scope 规范、PR 模板、Commitlint 校验 查看详情
Changelog 规范 变更日志格式、类型分类、破坏性变更标注 查看详情
Issue 管理规范 Issue 处理 SLA、标签体系、模板要求、状态流转 查看详情
RNOH 包管理规范 npm 发包格式、版本号规则、dist-tag 规范 查看详情

核心协作流程

graph LR
    A[提交 Issue] --> B[审核确认]
    B --> C[创建分支]
    C --> D[开发 + 测试]
    D --> E[提交 PR]
    E --> F{CI 通过?}
    F -->|否| D
    F -->|是| G{Review 通过?}
    G -->|否| D
    G -->|是| H[合并代码]
    H --> I[更新 Changelog]
    I --> J[版本发布]

快速参考

分支命名规范
分支类型 命名规范 示例
版本演进主干 ${version}-main 0.82-main
商业发布分支 ${version}-stable 0.82-stable
特性分支 ${version}-feature/<name> 0.82-feature/new-arch
修复分支 ${version}-hotfix/<issue> 0.82-hotfix/123
Commit 格式规范
<type>(<scope>): <subject>

<body>

<footer>

常用 type: feat / fix / docs / refactor / perf / chore

示例: feat(ScrollView): 添加下拉刷新支持

Issue 处理 SLA
等级 首次响应 处理时间 适用场景
P0 紧急 < 2小时 < 24小时 核心崩溃、安全漏洞
P1 高 < 8小时 < 3天 主要功能异常
P2 中 < 24小时 < 7天 非核心功能异常
P3 低 < 72小时 < 30天 优化建议、新功能请求
版本号格式
[RN主版本].[RN次版本].[鸿蒙化迭代序号]

示例: 0.72.1190.82.34

安装方式:

npm install @react-native-oh/react-native-harmony@0.72-stable

共建社区

React Native for OpenHarmony 由开放原子开源基金会 SIG 共建

项目 许可证 地址
RNOH 框架 MIT gitcode.com/openharmony-RN/ohos_react_native
RNOH 三方库 MIT gitcode.com/OpenHarmony-RN/usage-docs

社区交流

微信群:

chat

邮件列表:

待补充

Built with ❤️ by OpenHarmony React Native SIG

热门项目
8

该文档旨在帮助开发者在 HarmonyOS 平台使用 React Native OpenHarmony 的第三方库,并呈现每个三方库的信息。

2

此仓库代码用来验收RN三方库全部能力

1

是 React Native 生态中用于实现VoIP 通话系统集成的跨平台库,核心功能是让应用对接手机原生的通话系统(如 iOS 的 CallKit、Android 的 ConnectionService),模拟原生电话的体验,适配 VoIP(网络电话)场景

  • React Native鸿蒙化仓库

    C++
    352
    413
    MIT
    更新于 1 天前
    Star
  • 此仓库代码用来验收RN三方库全部能力

    TSX
    2
    218
    Apache-2.0
    更新于 7 小时前
    Star
  • RN下拉刷新功能

    C++
    0
    5
    更新于 3 天前
    Star
  • 该文档旨在帮助开发者在 HarmonyOS 平台使用 React Native OpenHarmony 的第三方库,并呈现每个三方库的信息。

    HTML
    8
    100
    Apache-2.0
    更新于 8 小时前
    Star
  • React Native 本地与远程通知

    ArkTS
    0
    6
    MIT
    更新于 15 小时前
    Star
  • react-native-compressor 是一个用于React Native应用的图像、视频和音频压缩库,其核心功能是自动/手动压缩媒体文件,并支持后台上传。

    TSX
    0
    4
    MIT
    更新于 1 天前
    Star
  • 鸿蒙测试集,包含功能、性能、稳定性、兼容性

    TypeScript
    1
    8
    Apache-2.0
    更新于 2 天前
    Star
  • 蓝牙打印功能

    TypeScript
    0
    4
    MIT
    更新于 3 天前
    Star
  • 支持视频 / 音频 / 数据通道,支持即时缩放,支持最大比特率设置

    TSX
    0
    8
    MIT
    更新于 2 天前
    Star
  • docs

    1
    3
    更新于 1 天前
    Star
查看全部项目 >
公告
成就
371
Star
917
Fork
628.92 K
Download
常用语言
TypeScript
JavaScript
C++