如 Lynx 开源博客所介绍,Lynx 的愿景始终是为 更多平台与更多用户 解锁原生能力。随着 HarmonyOS NEXT 的发布为市场带来新的平台和设备多样性,我们希望 Lynx 开发者也能够像在 Android、iOS 和 Web 上一样,轻松地触达这些用户。
今天,我们很高兴地宣布,Lynx 现已提供 HarmonyOS 的公开测试版支持,在 CSS、UI 元件、API 上实现了功能对等,并带来同等级别的性能表现与原生体验。
功能对齐的 Lynx for HarmonyOS
| Running Lynx on HarmonyOS | Running Lynx on Android |
|---|---|
|
|
Lynx 在 Android、iOS、HarmonyOS 上 CSS、原生组件等功能高度一致得益于 Lynx 的架构实现:在多平台上 Lynx 的渲染流水线是 共用、一致的。在 HarmonyOS 上,Lynx 渲染指令与 HarmonyOS 的 ArkUI 渲染组件对接,进而实现 CSS 属性绘制、动画、自定义组件等。

原生的 Lynx for HarmonyOS
渲染指令直驱 ArkUI
Lynx for HarmonyOS 最终选择 C API 方式将 Lynx platform-ui-tree 直接映射为 HarmonyOS 的原生组件。既能保证 Lynx 的性能优势,同时也能结合 ArkTS 的丰富生态与能力。
-
原生组件渲染:利用了 ArkUI 的 C API 将 element-tree 操作直接转换为对原生 UI 节点的调用,其渲染指令可以绕开 ArkTS 虚拟机的执行开销,不存在语言间数据传递的转换,在 HarmonyOS 上实现接近甚至超越原生 ArkTS 的渲染性能。 -
自定义元件:通过 HarmonyOS 提供的 BuilderNode和Builder可动态构建 ArkTS 子树,直接嵌入到 Lynx 创建的 ArkUI 节点树,以实现高度定制自定义元件。
复杂交互处理
Lynx 在 HarmonyOS 中构建了一套完整的事件处理机制,能在复杂交互场景下捕获和响应手势与事件。
| 手势识别 | 混合场景自定义手势控制 |
|---|---|
|
|
-
自定义 HitTest:在 Lynx platform-ui-tree 上准确查找响应事件的节点,保障基础交互的准确性。 -
手势识别:集成了 HarmonyOS 的手势识别能力如 tap、longpress等,保障在使用 Lynx for HarmonyOS 时拥有与原生一致的手势体验。 -
混合场景自定义控制:提供一系列事件 API,如 user-interaction-enabled和block-native-event,允许开发者可控制事件的穿透和消费逻辑,可高效处理与原生页面的混合滚动等复杂场景。
原生能力拓展
-
元件定制能力:Lynx 不仅提供了丰富的内置元件,还允许开发者将自己开发的 HarmonyOS 原生组件(通过 ArkTS 实现)封装并注册到 Lynx 运行时中。这意味着开发者可以根据业务需求扩展应用的 UI 能力,实现高度定制化的界面和交互,保持原生体验。更多内容参考:自定义元件的使用指南[1]。 -
原生模块定制能力:通过 Lynx 的原生模块扩展能力,开发者可以在 JavaScript 中调用 HarmonyOS 的原生 API,无论是系统级的服务还是自定义的原生模块。更多内容参考:原生模块的使用指南[2]。
在 HarmonyOS 创建第一个 Lynx 应用
-
使用预构建的 Lynx Explorer:若希望以最便捷的方式开启开发,可以按照快速上手 [5]描述的步骤操作安装 Lynx Explorer hap 包上手 Lynx 开发。 -
本地构建 Lynx Explorer:若开发者想对 Lynx for HarmonyOS 的源码有更多的探索,可尝试本地构建,参考为 Harmony 构建 Lynx Explorer [6]。 -
集成 Lynx 到已有的应用工程中:若开发者已经有自己的 HarmonyOS 应用工程,并希望将 Lynx 集成其中,官网也提供了集成参考[7]。
我们邀请你一同加入 Lynx 社区,一起在 HarmonyOS 上,用 Lynx 构建卓越的原生体验!





