国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Taro on Harmony C-API 版本正式開源

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2025-06-03 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Taro 是由京東發(fā)起并維護(hù)的開放式跨端跨框架解決方案,支持以 Web 的開發(fā)范式來實現(xiàn)小程序、H5、原生 APP 的跨端統(tǒng)一開發(fā),從 18 年開源至今,在 GitHub 已累計獲得 36,000+ Stars。

Taro x 純血鴻蒙

在過去的一年中,Taro 經(jīng)歷了顯著的蛻變,Taro on Harmony 方案完成從 ArkTS 方案到 C-API 方案的升級,成功實現(xiàn)了對純血鴻蒙的完全適配,擴展了 Taro 的兼容平臺家族,實現(xiàn)了對 H5、小程序、RN、原生鴻蒙多端的統(tǒng)一開發(fā)。

wKgZPGg-w_iAEA4fAAMoUb8Ux_U228.png

去年 9 月,京東 APP 純血鴻蒙 在鴻蒙應(yīng)用商城正式上線,APP 中核心購物鏈路,如首頁、搜索、商詳、購物車、訂單、結(jié)算和我京等頁面,都是通過 Taro on Harmony C-API 版本進(jìn)行開發(fā),并且一上線就獲得了華為的 S 級應(yīng)用認(rèn)證。

今天,我們正式開源 Taro on Harmony C-API 版本,這次版本的發(fā)布,將帶來更豐富的樣式適配、更高效的渲染性能、更全面的組件支持,讓開發(fā)者以 Web 范式的方式來開發(fā)出媲美原生鴻蒙性能的應(yīng)用,為鴻蒙應(yīng)用生態(tài)的豐富注入強大的動力。

對于開發(fā)者來說,Taro on Harmony 技術(shù)方案為開發(fā)者提供了顯著優(yōu)勢:顯著降低鴻蒙應(yīng)用開發(fā)門檻,讓開發(fā)者能夠運用熟悉的 Web 技術(shù)??焖贅?gòu)建純血鴻蒙應(yīng)用。同時,基于鴻蒙 CAPI 構(gòu)建的高性能渲染管線,在保證開發(fā)高效率的同時實現(xiàn)了與原生應(yīng)用媲美的性能表現(xiàn)。更重要的是,開發(fā)者可以充分復(fù)用現(xiàn)有研發(fā)生態(tài),將存量 Taro 項目快速適配遷移至鴻蒙平臺,大幅加速業(yè)務(wù)在鴻蒙生態(tài)的布局與上架進(jìn)程。

wKgZPGg-w_mANxNsACdUv0C8qFw123.jpg

整體技術(shù)架構(gòu)

Taro on Harmony 技術(shù)方案支持開發(fā)者使用 React DSL 來開發(fā)純血鴻蒙應(yīng)用,整體架構(gòu)可以簡單分為三層:

wKgZO2g-w_qAfRa4AAG1vWhwYL8357.png

最上層是應(yīng)用業(yè)務(wù)代碼所在的 ArkVM 層,這一層在 C-API 版本中主要運行業(yè)務(wù)代碼、React 的核心代碼以及少量的 Taro 運行時代碼。

中間層是 Taro 的 CSSOM 和 TaroElement 樹,負(fù)責(zé)處理上層 Taro 運行時代碼傳遞下來的指令,比如 TaroElement 節(jié)點樹創(chuàng)建,綁定關(guān)系以及設(shè)置屬性等操作。

最下層存放的是 TaroRenderNode 虛擬節(jié)點樹,這棵節(jié)點樹和真正的上屏節(jié)點樹是一一對應(yīng)的關(guān)系,同時在 TaroRenderNode 節(jié)點樹內(nèi)會創(chuàng)建對應(yīng)的 Yoga 節(jié)點。

wKgZPGg-w_qAUR31AAHzyRx6Yic680.png

同時 Taro 還基于鴻蒙提供的 VSync 機制設(shè)置一套任務(wù)處理管線,來處理中間層和下層節(jié)點樹產(chǎn)生的樣式匹配、節(jié)點測量、節(jié)點布局、樣式設(shè)置以及節(jié)點上屏等任務(wù),來保證任務(wù)的時序性和最后上屏渲染結(jié)果的正確性。

重點特性

豐富的能力支持

常用組件和 API 支持

在 C-API 版本的 Taro on Harmony 中,我們不僅完整支持了 React 18+,另外支持了 View、Text、Image、Video 等近 33 個 Taro 組件,對于常用的 API,如 getSystemInfo、getStorage 等也是在 C-API 版本中得到了完整的支持,而且針對邏輯較為復(fù)雜的 API 如:createSelectorQuery 以及 createIntersectionObserver,我們將這些 API 在 C++ 側(cè)進(jìn)行了重新的實現(xiàn),大幅提升了他們的執(zhí)行性能。

常用樣式支持

在 C-API 版本中,我們對支持了大部分常見的 CSS 能力:

支持常見的 CSS 樣式和布局,支持 flex、偽類和偽元素

支持常見的 CSS 定位,絕對定位、fixed 定位

支持常見的 CSS 選擇器和媒體查詢

支持常見的 CSS 單位,比如 vh、vw 以及計算屬性 calc

支持 CSS 變量以及安全區(qū)域等預(yù)定義變量

同時,我們參考瀏覽器 CSSOM 的實現(xiàn)方式,在 C++ 實現(xiàn)了一套 CSSOM 邏輯,里面包含了樣式解析、樣式匹配、樣式合成和應(yīng)用整個鏈路的樣式處理邏輯。

wKgZO2g-w_qAI-0KAADBTmNQ0Ek567.png

另外,Taro 引入了 Yoga 布局引擎來計算渲染節(jié)點的位置和大小,最大程度保證 Taro 構(gòu)建出來的鴻蒙應(yīng)用中渲染樣式和 W3C 規(guī)范的一致性。

wKgZPGg-w_uAP8CkAAUjSa4QtbI956.png

媲美原生 ArkTS 的高性能

運行時邏輯下沉至 C++

在 C-API 的版本中,我們將 ArkVM 層的 Taro 運行時內(nèi)容削減到極致的薄,將 TaroElement 的大部分內(nèi)容都下沉到了 C++ 側(cè),并在 ArkVM 層取消了他們之間父子關(guān)系的綁定,極大地提升了 TaroElement 相關(guān)邏輯的性能。

wKgZO2g-w_yABbFtAAUYsbR7NzE071.png

另一方面,在 C++ 側(cè) Taro 會指令式地調(diào)用 ArkUI 在 C++ 側(cè)提供的 API,來高效地創(chuàng)建節(jié)點、設(shè)置屬性、綁定事件以及繪制上屏。

提供長列表組件應(yīng)對長列表場景

Taro 還針對長列表場景針對性地提供了長列表類型組件,并對長列表類型組件進(jìn)行了優(yōu)化,提供了懶加載、預(yù)加載和節(jié)點復(fù)用等功能,有效地解決大數(shù)據(jù)量下的性能問題,提高應(yīng)用的流暢度和用戶體驗。

wKgZPGg-w_yAMrjlAADMBQoBLKg486.png

支持 C-API 混合原生的渲染模式

Taro 的組件和 API 是以小程序作為基準(zhǔn)來進(jìn)行設(shè)計的,因此在實際的鴻蒙應(yīng)用開發(fā)過程中,會出現(xiàn)部分所需的組件和 API 在 Taro 中不存在的情況,因為針對這種情況,在 C-API 版本中,Taro 提供了原生混合開發(fā)的能力,支持將原生頁面或者原生組件混合編譯到 Taro 鴻蒙項目中,支持 Taro 組件和鴻蒙原生組件在頁面上的混合使用。

wKgZO2g-w_2AOdOmAAZSdMhlNhw834.png

使用教程

項目開源地址

Taro 本地開源地址:https://github.com/NervJS/taro

Taro 鴻蒙 C-API 開源地址:https://github.com/NervJS/taro-harmony-capi-library

安裝和使用

安裝 harmony 插件

# 使用 npm 安裝
$ npm i @tarojs/plugin-platform-harmony-cpp
# 使用 pnpm 安裝
$ pnpm i @tarojs/plugin-platform-harmony-cpp

添加插件配置

import os from 'os'
import path from 'path'

const config = {
  // ...
  plugins: ['@tarojs/plugin-platform-harmony-cpp'],
  harmony: {
    // 當(dāng)前僅支持使用 Vite 編譯鴻蒙應(yīng)用
    compiler: 'vite',
    // Note: 鴻蒙工程路徑,可以參考 [鴻蒙應(yīng)用創(chuàng)建導(dǎo)讀](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-with-ets-stage-0000001477980905-V2) 創(chuàng)建
    projectPath: path.join(os.homedir(), 'projects/my-business-project'),
    // Taro 項目編譯到對應(yīng)鴻蒙模塊名,默認(rèn)為 entry
    hapName: 'entry',
  },
  // ...
}

編譯項目

# 編譯鴻蒙應(yīng)用
$ taro build --type harmony_cpp
# 編譯鴻蒙原生組件
$ taro build native-components --type harmony_cpp

如果需要編譯鴻蒙應(yīng)用,同時使用編譯鴻蒙原生組件,可以在頁面配置中添加 entryOption: false 表示該頁面是組件,同時可以用過 componentName 指定組件導(dǎo)出名。

export default {
  navigationBarTitleText: 'Hello World',
+  componentName: 'MyComponent',
+  entryOption: false,
}

總結(jié)與展望

Taro on Harmony C-API 版本經(jīng)歷了京東鴻蒙 APP 的實踐,綜合性能、生態(tài)以及開發(fā)體驗來講,毫無疑問已經(jīng)成為了開發(fā)鴻蒙應(yīng)用的最佳框架選型之一。

當(dāng)下,我們也仍然在不斷完善著鴻蒙的適配方案,基于當(dāng)前的 Taro on Harmony C-API 方案,我們會進(jìn)行多線程的架構(gòu)升級以及 React 的 C++ 化,進(jìn)一步提升 Taro 在鴻蒙端側(cè)的性能,并極大地降低應(yīng)用的丟幀率,整體進(jìn)展也已經(jīng)處于驗證和測試階段。

也歡迎大家一起參與 Taro on Harmony 的共建,你們的每一個建議,每一次提交,都是推進(jìn) Taro 繼續(xù)往前走最大的動力。


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1605

    瀏覽量

    63990
  • Harmony
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    3014
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    鴻蒙Taro實戰(zhàn):01-搭建開發(fā)環(huán)境

    **4.0.0** 5. Module name: entry 注意,上面當(dāng)前 Taro 支持的 SDK 版本為 4.0.0 點擊 `Finish` 完成項目創(chuàng)建。 ## 安裝 Taro 4.x
    發(fā)表于 11-06 16:42

    320 C-API/PPR編程參考

    The Opt. 320 C-API/PPR Programming Reference describes all C functions, types and definitions
    發(fā)表于 08-13 14:19

    PCI-X系列選項320 C-API/PPR編程指南

    The E2920 C-API/PPR Programming Guide contains detailed information on how to program the Exerciser
    發(fā)表于 08-20 14:39

    C-API/PPR編程參考

    A C-API/PPR Programming Reference Guide for the Keysight E2922 and E2923 explaining different functions, error handling, and type definitions.
    發(fā)表于 08-22 13:47

    Taro下拉加載更多,上拉刷新是什么

    Taro下拉加載更多,上拉刷新
    發(fā)表于 06-15 17:10

    Harmony os java api對應(yīng)的實現(xiàn)代碼沒有開放嗎?

    Harmony os java api對應(yīng)的實現(xiàn)代碼沒有開放嗎?
    發(fā)表于 11-30 18:06

    Open Harmony如何接入開源圖形驅(qū)動呢

    Open Harmony如何接入開源圖形驅(qū)動呢?在OpenHarmony上使能開源GPU
    發(fā)表于 03-02 06:03

    Harmony和Android的內(nèi)核版本有什么含義呢?

    |Android的內(nèi)核版本指的是linux版本嗎?Harmony的內(nèi)核版本指的也是linux嗎?他們兩個的內(nèi)核版本有大佬講解一下嗎?
    發(fā)表于 05-19 14:44

    The MySQL C API 編程實例

    在網(wǎng)上找了一些MYSQL C API編程的文章,如《The MySQL C API 編程實例》,看了后覺得還是寫的不夠充分,根據(jù)自己經(jīng)驗又?jǐn)U充了一些知識,希望對需要調(diào)用到MYSQL的
    發(fā)表于 04-13 15:01 ?5次下載

    harmony官方開源社區(qū)

    harmony官方開源社區(qū) harmony官方開源社區(qū),2019業(yè)界開發(fā)者調(diào)查報告中顯示,61%的開發(fā)者認(rèn)為文檔和代碼樣例是企業(yè)需要提供開發(fā)者最重要的內(nèi)容。但在
    的頭像 發(fā)表于 06-21 19:22 ?2628次閱讀

    OpenHarmony生態(tài)論壇:關(guān)于開源Harmony OS教育行業(yè)發(fā)行版介紹

    OpenHarmony生態(tài)論壇:關(guān)于開源Harmony OS教育行業(yè)發(fā)行版,深度賦能智能硬件行業(yè)
    的頭像 發(fā)表于 04-25 15:19 ?1276次閱讀
    OpenHarmony生態(tài)論壇:關(guān)于<b class='flag-5'>開源</b><b class='flag-5'>Harmony</b> OS教育行業(yè)發(fā)行版介紹

    使用 Taro 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

    隨著鴻蒙系統(tǒng)的不斷完善,許多應(yīng)用廠商都希望將自己的應(yīng)用移植到鴻蒙平臺上。最近,Taro 發(fā)布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發(fā)鴻蒙原生應(yīng)用,也可將現(xiàn)有的小程序轉(zhuǎn)換
    的頭像 發(fā)表于 02-02 16:09 ?1404次閱讀
    使用 <b class='flag-5'>Taro</b> 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

    Taro 鴻蒙技術(shù)內(nèi)幕系列(二):如何讓 W3C 標(biāo)準(zhǔn)的 CSS跑在鴻蒙上

    HarmonyOS 采用自研的 ArkUI 框架作為原生 UI 開發(fā)方案,這套方案有完善的布局系統(tǒng)和樣式控制,但是他的標(biāo)準(zhǔn)與 W3C 的 CSS 標(biāo)準(zhǔn)存在不一致性。這意味著,如果 Taro 直接
    的頭像 發(fā)表于 10-31 10:54 ?520次閱讀
    <b class='flag-5'>Taro</b> 鴻蒙技術(shù)內(nèi)幕系列(二):如何讓 W3<b class='flag-5'>C</b> 標(biāo)準(zhǔn)的 CSS跑在鴻蒙上

    Taro 鴻蒙技術(shù)內(nèi)幕系列(三) - 多語言場景下的通用事件系統(tǒng)設(shè)計

    生態(tài)系統(tǒng)中,雖然原生應(yīng)用通?;?ArkTS 實現(xiàn),但在實際研發(fā)過程中發(fā)現(xiàn),使用 C++ 可以顯著提升應(yīng)用框架和業(yè)務(wù)的性能表現(xiàn)。隨著鴻蒙系統(tǒng)的不斷迭代升級,不同語言環(huán)境間的協(xié)作已成為不可或缺的開發(fā)范式,共同構(gòu)建了更豐富的研發(fā)生態(tài)。 Taro 通過接入鴻蒙端的
    的頭像 發(fā)表于 11-27 11:42 ?600次閱讀
    <b class='flag-5'>Taro</b> 鴻蒙技術(shù)內(nèi)幕系列(三) - 多語言場景下的通用事件系統(tǒng)設(shè)計

    京東開源Taro on HarmonyOS C-API版本

    近日,京東正式開源Taro on HarmonyOS C-API 版本,為鴻蒙應(yīng)用跨端開發(fā)提供高性能框架。這次版本的發(fā)布,帶來了更豐富的樣
    的頭像 發(fā)表于 06-09 09:19 ?566次閱讀
    京東<b class='flag-5'>開源</b><b class='flag-5'>Taro</b> on HarmonyOS <b class='flag-5'>C-API</b><b class='flag-5'>版本</b>