0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

京东开源Taro on HarmonyOS C-API版本

HarmonyOS开发者 来源:HarmonyOS开发者 2025-06-09 09:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

近日,京东正式开源了Taro on HarmonyOS C-API 版本,为鸿蒙应用跨端开发提供高性能框架。这次版本的发布,带来了更丰富的样式适配、更高效的渲染性能、更全面的组件支持,让开发者以Web范式的方式来开发出媲美鸿蒙性能的应用,为鸿蒙应用生态的丰富注入强大的动力。

整体技术架构

Taro on HarmonyOS 技术方案支持开发者使用 React DSL 来开发鸿蒙应用,在整体架构上可以简单分为三层:

283b7f5c-3dcd-11f0-b715-92fbcf53809c.png

图片来源:Taro on HarmonyOS React

最上层是应用业务代码所在的 ArkVM 层,这一层在 C-API 版本中主要运行业务代码、React 的核心代码以及少量的 Taro 运行时代码。

中间层是 Taro 的 CSSOM 和 TaroElement 树,负责处理上层 Taro 运行时代码传递下来的指令,比如 TaroElement 节点树创建,绑定关系以及设置属性等操作。

最下层存放的是 TaroRenderNode 虚拟节点树,这棵节点树和真正的上屏节点树是一一对应的关系,同时在 TaroRenderNode 节点树内会创建对应的 Yoga 节点。

284e7148-3dcd-11f0-b715-92fbcf53809c.png

图片来源:Taro on HarmonyOS React DOM

同时,Taro还基于鸿蒙提供的VSync机制设置一套任务处理管线,来处理中间层和下层节点树产生的样式匹配、节点测量、节点布局、样式设置以及节点上屏等任务,来保证任务的时序性和最后上屏渲染结果的正确性。

重点特性

在特性方面,Taro on HarmonyOS 技术方案具备“丰富的能力支持、媲美 ArkTS 的高性能、支持 C-API 渲染模式”等三大重点特性。

(1)丰富的能力支持

C-API 版本的 Taro on HarmonyOS支持常用组件和 API ,不仅支持React 18+,还支持View、Text、Image、Video 等近33个Taro组件,以及支持如getSystemInfo、getStorage 等常用的API,针对逻辑较为复杂的 API 如:createSelectorQuery 以及 createIntersectionObserver,也在C++侧进行了重新的实现,大幅提升了执行性能。

此外C-API 版本支持大部分常见的 CSS 能力:

支持常见的 CSS 样式和布局,支持 flex、伪类和伪元素

支持常见的 CSS 定位,绝对定位、fixed 定位

支持常见的 CSS 选择器和媒体查询

支持常见的 CSS 单位,比如 vh、vw 以及计算属性 calc

支持 CSS 变量以及安全区域等预定义变量

同时,在参考浏览器 CSSOM 的实现方式基础上,在C++实现了一套 CSSOM 逻辑,里面包含了样式解析、样式匹配、样式合成和应用整个链路的样式处理逻辑。

285eb832-3dcd-11f0-b715-92fbcf53809c.png

图片来源:Taro on HarmonyOS CSS

另外,Taro 引入了 Yoga 布局引擎来计算渲染节点的位置和大小,最大程度保证 Taro 构建出来的鸿蒙应用中渲染样式和 W3C 规范的一致性。

28708f9e-3dcd-11f0-b715-92fbcf53809c.png

图片来源:Taro on HarmonyOS Style

(2)媲美 ArkTS 的高性能

在 C-API 的版本中,ArkVM 层的 Taro 运行时内容已削减到非常薄,将 TaroElement 的大部分内容都下沉到了 C++ 侧,并在 ArkVM 层取消了他们之间父子关系的绑定,极大地提升了 TaroElement 相关逻辑的性能。

2884068c-3dcd-11f0-b715-92fbcf53809c.png

图片来源:Taro on HarmonyOS CAPI

另一方面,在 C++ 侧 Taro 会指令式地调用 ArkUI 在 C++ 侧提供的 API,来高效地创建节点、设置属性、绑定事件以及绘制上屏。

Taro 还针对长列表场景针对性地提供了长列表类型组件,并对长列表类型组件进行了优化,提供了懒加载、预加载和节点复用等功能,有效地解决大数据量下的性能问题,提高应用的流畅度和用户体验。

28949e20-3dcd-11f0-b715-92fbcf53809c.png

图片来源:Taro on HarmonyOS Virtual List

(3)支持 C-API 的渲染模式

Taro 的组件和 API 是以小程序作为基准来进行设计的,因此在实际的鸿蒙应用开发过程中,会出现部分所需的组件和 API 在 Taro 中不存在的情况,因为针对这种情况,在 C-API 版本中,Taro 支持将初始页面或者组件混合编译到 Taro 鸿蒙项目中,支持 Taro 组件和鸿蒙组件在页面上的混合使用。

使用指南

Taro on HarmonyOS技术方案已开源至Github,开发者可搜索“taro”以获取更多信息:

https://github.com/NervJS/taro-harmony-capi-library

使用前,开发者可先安装Harmony插件

28b6f39e-3dcd-11f0-b715-92fbcf53809c.png

添加插件配置

28c3d668-3dcd-11f0-b715-92fbcf53809c.png

编译项目

28d515a4-3dcd-11f0-b715-92fbcf53809c.png

如果需要编译鸿蒙应用,同时使用编译鸿蒙组件,可以在页面配置中添加 entryOption: false 表示该页面是组件,同时可以用过 componentName 指定组件导出名。

28e508a6-3dcd-11f0-b715-92fbcf53809c.png

Taro on HarmonyOS C-API 版本经历了京东鸿蒙 APP 的实践,从综合性能、生态以及开发体验都更上一层楼。未来,京东团队还会基于当前的 Taro on HarmonyOS C-API 方案,进行多线程的架构升级以及 React 的 C++ 化,进一步提升 Taro 在鸿蒙端侧的性能,并极大地降低应用的丢帧率。欢迎广大开发者一起参与 Taro on HarmonyOS 的共建,推动 Taro 更好发展。

华为在未来也将持续携手生态伙伴共建创新,面向底座技术、通用能力、垂类行业等场景推出系列开发者场景化解决方案,不断提升鸿蒙应用的创新体验和开发效率,与广大开发者共建繁荣的鸿蒙生态。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    4039

    浏览量

    45582
  • 鸿蒙
    +关注

    关注

    60

    文章

    2863

    浏览量

    45373
  • HarmonyOS
    +关注

    关注

    80

    文章

    2147

    浏览量

    35596

原文标题:京东正式开源Taro on HarmonyOS C-API 版本,为鸿蒙应用跨端开发提供高性能框架

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    京东API揭秘:如何让你的商品在京东平台快速曝光?》

    在竞争激烈的电商环境中,商品能否快速获得曝光是商家成功的关键因素之一。京东作为国内领先的电商平台,其开放平台提供了丰富的API接口,为商家提供了强大的技术工具来实现精准、高效的曝光增长。本文将
    的头像 发表于 12-08 17:55 987次阅读

    京东API实时接口:京东商品评论数据接口

    ​​京东商品评论数据接口(通常表示为 JD.item_review)是京东开放平台提供的一种API,它允许开发者获取京东商品的用户评论数据。这些数据包括但不限于评论内容、用户评分、评论
    的头像 发表于 11-11 11:21 303次阅读

    全网最全面介绍京东API接口指南

    ​  作为京东开放平台的核心工具,京东API(Application Programming Interface)允许开发者无缝集成京东电商功能到自己的应用中,实现商品管理、订单处理、
    的头像 发表于 10-29 16:02 1075次阅读
    全网最全面介绍<b class='flag-5'>京东</b><b class='flag-5'>API</b>接口指南

    京东API 介绍

    京东 API京东开放平台提供的一组标准化接口,允许开发者通过程序化方式访问京东生态的核心业务能力,涵盖商品、订单、物流、金融、智能客服等多个领域。以下是基于最新技术规范的详细介绍:
    的头像 发表于 10-08 09:04 380次阅读

    京东:利用商品管理API自动调整商品上下架状态,优化搜索排名

    京东:利用商品管理API自动调整商品上下架状态,优化搜索排名 在电商运营中,高效管理商品状态是提升销售的关键。京东作为领先的电商平台,提供了强大的商品管理API,允许商家通过编程方
    的头像 发表于 09-08 16:09 807次阅读
    <b class='flag-5'>京东</b>:利用商品管理<b class='flag-5'>API</b>自动调整商品上下架状态,优化搜索排名

    借助京东 API京东店铺商品质量反馈快速收集

    ​ 在电商运营中,商品质量反馈是优化产品和服务的关键。京东店铺的商家需要通过用户评价、投诉数据等及时了解商品问题,但手动收集效率低下、易出错。借助京东开放平台提供的 API(应用程序接口),商家可以
    的头像 发表于 08-15 14:55 630次阅读
    借助<b class='flag-5'>京东</b> <b class='flag-5'>API</b>,<b class='flag-5'>京东</b>店铺商品质量反馈快速收集

    京东 API 赋能,京东店铺广告投放数据深度洞察

    ​ 在当今电商竞争激烈的环境下,京东店铺如何高效管理广告投放并实现精准营销?京东 API(应用程序接口)作为核心技术工具,为店铺提供了强大的数据接入和分析能力。本文将深入探讨京东
    的头像 发表于 08-15 14:48 611次阅读
    <b class='flag-5'>京东</b> <b class='flag-5'>API</b> 赋能,<b class='flag-5'>京东</b>店铺广告投放数据深度洞察

    京东 API 助力,京东平台促销活动效果实时评估

    ​ 在电商竞争日益激烈的今天,京东平台上的促销活动(如618、双11)已成为商家提升销量的关键手段。然而,传统评估方法往往滞后,无法及时优化策略。京东开放平台提供的API(应用程序接口)则解决了这一
    的头像 发表于 08-14 15:07 581次阅读
    <b class='flag-5'>京东</b> <b class='flag-5'>API</b> 助力,<b class='flag-5'>京东</b>平台促销活动效果实时评估

    揭秘京东 API,让京东店铺商品推荐更懂用户

    ​ 在当今电商时代,个性化推荐已成为提升用户体验的关键。京东作为国内领先的电商平台,其开放 API 为开发者提供了强大的工具,帮助店铺实现更精准的商品推荐。本文将逐步揭秘京东 API
    的头像 发表于 08-14 15:04 707次阅读
    揭秘<b class='flag-5'>京东</b> <b class='flag-5'>API</b>,让<b class='flag-5'>京东</b>店铺商品推荐更懂用户

    巧用京东 API,精准把握京东平台用户消费偏好

    ​ 在当今电商竞争激烈的环境下,精准把握用户消费偏好是企业提升转化率、优化营销策略的关键。京东作为国内领先的电商平台,提供了丰富的开放 API(应用程序接口),允许开发者访问用户行为数据。通过巧妙
    的头像 发表于 08-14 15:00 687次阅读
    巧用<b class='flag-5'>京东</b> <b class='flag-5'>API</b>,精准把握<b class='flag-5'>京东</b>平台用户消费偏好

    京东 API 接口:打造高效京东店铺订单处理系统

    ​ 在当今电商竞争激烈的环境中,京东店铺的订单处理效率直接影响用户体验和商家收益。手动处理订单不仅耗时耗力,还容易出错。京东开放平台提供的 API 接口,为商家提供了自动化解决方案,能显著提升订单
    的头像 发表于 08-14 14:49 541次阅读
    <b class='flag-5'>京东</b> <b class='flag-5'>API</b> 接口:打造高效<b class='flag-5'>京东</b>店铺订单处理系统

    Taro on HarmonyOS 技术架构深度解析

    2025 年 6 月,在华为开发者大会 2025 开发者场景技术共建分论坛,本文作者进行了《京东 Taro 框架鸿蒙版本正式开源 助力鸿蒙版三方应用开发》专题演讲。期间阐述了
    的头像 发表于 08-04 16:10 575次阅读
    <b class='flag-5'>Taro</b> on <b class='flag-5'>HarmonyOS</b> 技术架构深度解析

    京东API物流跟踪集成,发货效率翻倍无忧!

    ​ 在当今电商时代,高效的物流管理是企业成功的关键。京东作为行业巨头,其开放的API接口为企业提供了强大的物流跟踪功能。通过集成京东API,企业不仅能实时监控订单状态,还能大幅提升发货
    的头像 发表于 07-29 14:44 476次阅读
    <b class='flag-5'>京东</b><b class='flag-5'>API</b>物流跟踪集成,发货效率翻倍无忧!

    京东电商 API 接口,订单管理高效解决方案!

    ​ 在当今电商高速发展的时代,京东作为领先的电商平台,其 API 接口为商家和开发者提供了强大的工具,帮助实现订单管理的高效化。本文将逐步解析京东电商 API 接口的核心功能、优势及实
    的头像 发表于 07-04 16:12 563次阅读
    <b class='flag-5'>京东</b>电商 <b class='flag-5'>API</b> 接口,订单管理高效解决方案!

    针对“您的应用使用了HarmonyOS beta版本API”的解决方法##HarmonyOS应用上架##

    API。 修改建议:为提升消费者使用体验,请使用HarmonyOS release版本API开发应用,申请上架 我看到这个是有点懵的,因为我清楚的知道,我的项目是基于
    发表于 06-30 17:30