吴忠躺衫网络科技有限公司

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

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

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

鴻蒙ArkUI-X跨平臺(tái)技術(shù):【概述】

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-05-16 16:19 ? 次閱讀

ArkUI-X概覽

項(xiàng)目介紹

ArkUI是一套構(gòu)建分布式應(yīng)用的聲明式UI開發(fā)框架。它具備簡(jiǎn)潔自然的UI信息語(yǔ)法、豐富的UI組件、多維的狀態(tài)管理,以及實(shí)時(shí)界面預(yù)覽等相關(guān)能力,幫助您提升應(yīng)用開發(fā)效率,并能在多種設(shè)備上實(shí)現(xiàn)生動(dòng)而流暢的用戶體驗(yàn)。

ArkUI-X進(jìn)一步將ArkUI擴(kuò)展到了多個(gè)OS平臺(tái):目前支持OpenHarmonyHarmonyOSAndroidiOS,后續(xù)會(huì)逐步增加更多平臺(tái)支持。開發(fā)者基于一套主代碼,就可以構(gòu)建支持多平臺(tái)的精美、高性能應(yīng)用。

熟悉鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

關(guān)鍵特征

ArKUI跨平臺(tái)框架關(guān)鍵特征如下:

  1. 簡(jiǎn)潔自然的聲明式語(yǔ)法。
  2. 高效的渲染管線以及平臺(tái)一致性的渲染機(jī)制。
  3. 高效的方舟編譯器以及運(yùn)行時(shí)。
  4. 統(tǒng)一的跨平臺(tái)API能力集以及擴(kuò)展機(jī)制。
  5. 動(dòng)態(tài)化特性

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

ArkUI跨平臺(tái)框架整體架構(gòu)如下圖所示。

ArkUI跨平臺(tái)架構(gòu)圖

簡(jiǎn)介

本文檔描述ArkUI開發(fā)框架跨平臺(tái)運(yùn)行能力相關(guān)的總體技術(shù)方案。

范圍

ArkUI是面向全設(shè)備的UI開發(fā)框架,已通過(guò)OpenHarmony代碼倉(cāng)開源,其關(guān)鍵組成包括:

  • 開發(fā)模型;
  • 應(yīng)用界面&交互;
  • 擴(kuò)展機(jī)制-使能三方組件&平臺(tái)API擴(kuò)展機(jī)制。

ArkUI-X旨在將ArkUI開發(fā)框架擴(kuò)展至其他OS平臺(tái)(Android/iOS/Windows等),使開發(fā)者能夠基于ArkUI開發(fā)框架,復(fù)用絕大部分的應(yīng)用代碼(UI以及主要應(yīng)用邏輯),即可部署到不同OS平臺(tái)上。

假設(shè)和約束

本文提到的跨平臺(tái)是指UI部分的跨平臺(tái),其UI代碼可以重用,其它應(yīng)用對(duì)平臺(tái)依賴的能力,需要應(yīng)用層面進(jìn)行適配,或通過(guò)JS API封裝機(jī)制(NAPI),進(jìn)行實(shí)現(xiàn)暴露到JS層。

涉及平臺(tái)能力的JS API(比如網(wǎng)絡(luò)、存儲(chǔ)等)請(qǐng)參考OpenHarmony中的定義,需要通過(guò)在不同平臺(tái)的封裝實(shí)現(xiàn)達(dá)到復(fù)用的目的。

本文主要是通用方案設(shè)計(jì)說(shuō)明,并以Android平臺(tái)做為示例說(shuō)明,其他平臺(tái)的基本設(shè)計(jì)思路類似,但相關(guān)設(shè)計(jì)需進(jìn)一步細(xì)化補(bǔ)充。

總體視圖

從設(shè)計(jì)之初,跨平臺(tái)就作為ArkUI最基本的設(shè)計(jì)目標(biāo)之一,當(dāng)前已支持基礎(chǔ)的跨平臺(tái)架構(gòu)。相關(guān)的設(shè)計(jì)思路如下:

  1. 采用 C++ 編寫整體后端引擎代碼,保持在多平臺(tái)的可移植性,最小化平臺(tái)依賴,降低平臺(tái)移植成本。
  2. 整體繪制采用自渲染機(jī)制,降低平臺(tái)依賴,同時(shí)進(jìn)一步提升繪制效果的一致性。
  3. 抽象出平臺(tái)適配層以及平臺(tái)橋接層,以便不同平臺(tái)的適配。

模塊功能介紹

ArkUI主要包括以下幾個(gè)模塊:

  1. 研發(fā)模型,兼容OpenHarmony應(yīng)用的Stage開發(fā)模型,支持基于ArkTS的聲明式開發(fā)范式,可跨平臺(tái)。
  2. 聲明式UI后端引擎,包括布局,渲染,C++ UI組件,事件機(jī)制等,可跨平臺(tái)。
  3. API擴(kuò)展機(jī)制,基于NAPI機(jī)制,可跨平臺(tái)。 不同平臺(tái)需要各自擴(kuò)展具體的API實(shí)現(xiàn)。
  4. 工具鏈/SDK, 工具鏈可跨平臺(tái),SDK需基于不同平臺(tái)構(gòu)建。

另外,ArkUI依賴的ArkTS引擎以及圖形引擎,也可跨平臺(tái)。

ArkUI聲明式UI后端引擎,主要完成整體pipeline流程控制、視圖更新、布局系統(tǒng)、多頁(yè)面管理、事件分發(fā)和回調(diào)、焦點(diǎn)管理、動(dòng)畫機(jī)制、主題機(jī)制、資源管理/緩存/provider等。 其中的UI組件,主要通過(guò)顯示相關(guān)組件細(xì)粒度化,動(dòng)畫、事件、焦點(diǎn)等機(jī)制組件化,滿足適配不同前端所需要的靈活性。

整體的跨平臺(tái)需求,就是擴(kuò)展ArkUI開發(fā)框架到其他OS平臺(tái),幫助開發(fā)者降低多平臺(tái)應(yīng)用開發(fā)成本。

通過(guò)ACE Tools命令行工具創(chuàng)建跨平臺(tái)應(yīng)用工程,開發(fā)者基于一套主代碼,就可以構(gòu)建支持多平臺(tái)的精美、高性能應(yīng)用。

方案設(shè)計(jì)

跨平臺(tái)應(yīng)用包結(jié)構(gòu)設(shè)計(jì)

跨平臺(tái)應(yīng)用目錄結(jié)構(gòu),包含一套為ArkUI-X開發(fā)者提供的應(yīng)用工程模板,提供構(gòu)建OpenHarmony應(yīng)用、Android應(yīng)用、iOS應(yīng)用的能力。應(yīng)用工程包結(jié)構(gòu)設(shè)計(jì)如下:

ArkUI-X應(yīng)用工程
  ├── .arkui-x
  │   ├── android                 // Android平臺(tái)相關(guān)代碼
  │   └── ios                     // iOS平臺(tái)相關(guān)代碼
  ├── .hvigor
  ├── .idea
  ├── AppScope
  ├── entry
  ├── hvigor
  ├── oh_modules
  ├── build-profile.json5
  ├── hvigorfile.ts
  ├── local.properties
  └── oh-package.json5

ArkUI-X應(yīng)用目錄結(jié)構(gòu)設(shè)計(jì)思想是從OpenHarmony應(yīng)用工程原生支持跨平臺(tái)角度出發(fā),在OpenHarmony應(yīng)用工程之上疊加Android和iOS應(yīng)用工程,ArkTS代碼和resources資源編輯仍在OpenHarmony側(cè)完成,Native代碼在各自平臺(tái)應(yīng)用工程中完成。詳細(xì)包結(jié)構(gòu)設(shè)計(jì)。

ArkUI-X應(yīng)用工程結(jié)構(gòu)說(shuō)明

簡(jiǎn)介

本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI,可復(fù)用大部分的應(yīng)用代碼(UI以及主要應(yīng)用邏輯)并可以部署到相應(yīng)的OS平臺(tái),降低跨平臺(tái)應(yīng)用開發(fā)成本。

應(yīng)用工程目錄結(jié)構(gòu)介紹

跨平臺(tái)應(yīng)用工程目錄結(jié)構(gòu),包含一套為ArkUI開發(fā)者提供的應(yīng)用工程模板,提供構(gòu)建OpenHarmony應(yīng)用,HarmonyOS應(yīng)用,Android應(yīng)用,iOS應(yīng)用的能力。

ArkUI-X應(yīng)用工程目錄結(jié)構(gòu)
  ├── .arkui-x
  │   ├── android                 // Android平臺(tái)相關(guān)代碼
  │   └── ios                     // iOS平臺(tái)相關(guān)代碼
  ├── AppScope
  ├── entry
  ├── hvigor
  ├── build-profile.json5
  ├── hvigorfile.ts
  ├── hvigorw
  ├── hvigorw.bat
  ├── local.properties
  └── oh-package.json5

此應(yīng)用目錄結(jié)構(gòu)設(shè)計(jì)思想是從OpenHarmony應(yīng)用工程原生支持跨平臺(tái)角度出發(fā),在OpenHarmony應(yīng)用工程之上疊加Android和iOS應(yīng)用工程,ArkTS代碼和resources資源在OpenHarmony側(cè)完成編譯,Native代碼仍在各自平臺(tái)應(yīng)用工程中完成編譯。

編譯構(gòu)建說(shuō)明

  • ArkTS源碼

ArkTS源碼通過(guò)OpenHarmony SDK工具鏈生成abc(Ark Byte Code),并分別拷貝到Android和iOS應(yīng)用工程,作為平臺(tái)應(yīng)用資源進(jìn)行管理。

  • ArkUI應(yīng)用資源

ArkUI Resources資源也通過(guò)OpenHarmony SDK工具鏈進(jìn)行編譯,編譯后的ArkUI資源分別拷貝到Android和iOS應(yīng)用工程,作為平臺(tái)應(yīng)用資源進(jìn)行管理。

  • ArkUI框架資源

ArkUI框架資源隨ArkUI-X SDK進(jìn)行發(fā)布,應(yīng)用構(gòu)建時(shí)會(huì)自動(dòng)打包到ArkUI-X應(yīng)用中,可保證ArkUI-X應(yīng)用在各平臺(tái)上UX渲染一致性。

綜上所述,Android平臺(tái)上通過(guò)assets管理ArkTS編譯產(chǎn)物、ArkUI應(yīng)用資源和ArkUI框架資源,iOS平臺(tái)上通過(guò)Bundle Resources管理ArkTS編譯產(chǎn)物、ArkUI應(yīng)用資源和ArkUI框架資源。

Android應(yīng)用工程結(jié)構(gòu)

ArkUI-X Android應(yīng)用工程
├── app
│   ├── libs
│   │   ├── arkui_android_adapter.jar                   // ArkUI-X跨平臺(tái)適配層,在SDK中發(fā)布
│   │   └── arm64-v8a
│   │       └── libarkui_android.so                     // ArkUI-X跨平臺(tái)引擎庫(kù),在SDK中發(fā)布
│   │       └── libhilog.so                             // ArkUI-X日志庫(kù),在SDK中發(fā)布
│   │       └── libresourcemanager.so                   // ArkUI-X資源管理庫(kù),在SDK中發(fā)布
│   ├── src
│   │   ├── androidTest
│   │   ├── main
│   │   │   ├── assets
│   │   │   │   └── arkui-x                             // ArkUI應(yīng)用編譯后的字節(jié)碼文件和Resources,作為資源文件存放在assets/arkui-x中
│   │   │   │       ├── entry                           // ArkUI單個(gè)模塊的編譯結(jié)果
│   │   │   │       │   ├── ets                         // ArkUI單個(gè)模塊代碼的編譯結(jié)果:包括字節(jié)碼文件以及sourceMap文件
│   │   │   │       │   │   ├── sourceMaps.map
│   │   │   │       │   │   └── modules.abc
│   │   │   │       │   ├── resources.index             // ArkUI單個(gè)模塊資源的編譯結(jié)果:resources資源的編譯結(jié)果
│   │   │   │       │   ├── resources                   // resources資源中的rawfile資源,不會(huì)進(jìn)行編譯。
│   │   │   │       │   └── module.json
│   │   │   │       ├── entry_test                      // ohosTest,僅僅Debug模式構(gòu)建包含。
│   │   │   │       └── systemres                       // ArkUI框架自帶的系統(tǒng)資源
│   │   │   ├── java/com/example/mayapp
│   │   │   │   ├── MyApplication.java                  // 基于StageApplication擴(kuò)展MyApplication
│   │   │   │   └── EntryEntryAbilityActivity.java      // 基于StageActivity擴(kuò)展EntryEntryAbilityActivity
│   │   │   ├── res
│   │   │   └── AndroidManifest.xml
│   │   └── test
│   ├── build.gradle
│   └── proguard-rules.pro
├── gradle/wrapper
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle

iOS應(yīng)用工程結(jié)構(gòu)

ArkUI-X iOS應(yīng)用工程
├── app.xcodeproj
│   ├── project.xcworkspace
│   ├── xcuserdata
│   └── project.pbxproj
├── app
│   ├── Assets.xcassets
│   ├── Base.Iproj
│   ├── AppDelegate.h
│   ├── AppDelegate.m                               // 應(yīng)用入口, 驅(qū)動(dòng)StageApplication的生命周期
│   ├── EntryEntryAbilityViewController.h           
│   ├── EntryEntryAbilityViewController.m           // 基于StageViewController擴(kuò)展EntryEntryViewController
│   ├── Info.plist
│   └── main.m
├── arkui-x                                         // ArkUI應(yīng)用編譯后的字節(jié)碼文件和Resources,作為資源文件存放在assets/arkui-x中
│   ├── entry                                       // ArkUI單個(gè)模塊的編譯結(jié)果
│   │   ├── ets                                     // ArkUI單個(gè)模塊代碼的編譯結(jié)果:包括字節(jié)碼文件以及sourceMap文件
│   │   │   ├── sourceMaps.map
│   │   │   └── modules.abc
│   │   ├── resources.index                         // ArkUI單個(gè)模塊資源的編譯結(jié)果:resources資源的編譯結(jié)果
│   │   ├── resources                               // resources資源中的rawfile資源,不會(huì)進(jìn)行編譯。
│   │   └── module.json
│   ├── entry_test                                  // ohosTest,僅僅Debug模式構(gòu)建包含。
│   └── systemres                                   // ArkUI框架自帶的系統(tǒng)資源
└── frameworks                                      // ArkUI跨平臺(tái)Framework動(dòng)態(tài)庫(kù):包含ArkUI-X的框架以及插件

跨平臺(tái)框架構(gòu)建系統(tǒng)

ArkUI-X編譯構(gòu)建提供了一套基于GN和Ninja的編譯構(gòu)建框架,基礎(chǔ)構(gòu)建基于OpenHarmony的build倉(cāng),并在OpenHarmony構(gòu)建基礎(chǔ)上新增Android和iOS編譯工具鏈,以支持ArkUI跨平臺(tái)SDK編譯輸出。

跨平臺(tái)SDK結(jié)構(gòu)設(shè)計(jì)

跨平臺(tái)SDK主要用于支持ACE Tools命令行跨平臺(tái)應(yīng)用構(gòu)建和DevEco StudioAndroid StudioXcode集成跨平臺(tái)應(yīng)用開發(fā)。內(nèi)容范圍主要包括:

  1. 提供ArkUI跨平臺(tái)開發(fā)框架基礎(chǔ)引擎動(dòng)態(tài)庫(kù),API插件動(dòng)態(tài)庫(kù)。
  2. 提供ArkUI跨平臺(tái)應(yīng)用構(gòu)建命令行工具。
  3. 提供ArkUI組件渲染一致性系統(tǒng)資源包,應(yīng)用資源編譯工具。

ArkUI-X SDK組成結(jié)構(gòu)如下:

arkui-x
  ├── engine                   // ArkUI-X的引擎庫(kù)
  │   ├── lib                  // ArkUI-X的引擎庫(kù):包括Android平臺(tái)及架構(gòu)的動(dòng)態(tài)庫(kù)
  │   ├── framework            // ArkUI-X的引擎庫(kù):包括iOS平臺(tái)及架構(gòu)的Framework庫(kù)
  │   ├── xcframework          // ArkUI-X的引擎庫(kù):包括iOS平臺(tái)及架構(gòu)的XCFramework庫(kù)
  │   ├── ets                  // ArkUI-X增量接口,比如:@arkui-x.bridge
  │   ├── apiConfig.json       // engine庫(kù)配置文件,用于IDE和ACE Tools解析,以支持應(yīng)用構(gòu)建按需打包。
  │   └── systemres            // ArkUI-X框架自帶的資源
  ├── plugins                  // ArkUI-X官方提供的插件庫(kù)
  │   ├── component            // ArkUI組件插件庫(kù),apiConfig.json
  │   └── api                  // @ohos接口插件庫(kù),apiConfig.json
  ├── toolchains               // ArkUI-X應(yīng)用開發(fā)工具,比如:ACE Tools。
  ├── sdkConfig.json           // 增量d.ts路徑和接口前綴配置
  ├── arkui-x.json             // SDK管理配置,流水線自動(dòng)生成
  └── NOTICE.txt

操作系統(tǒng)抽象層

基于C++實(shí)現(xiàn)的OS Abstract Layer (下文縮寫為OSAL),屏蔽不同平臺(tái)的OS相關(guān)的實(shí)現(xiàn),主要包含功能列表:

  • 日志、Trace抽象層
  • 網(wǎng)絡(luò)接口抽象層
  • 文件/資源讀寫抽象層
  • 基礎(chǔ)線程抽象層
  • 系統(tǒng)資源管理抽象及實(shí)現(xiàn)
  • 系統(tǒng)Prop配置讀取抽象層
  • 打點(diǎn)能力抽象層

以Log調(diào)用流程為例,整體交互流程如下:

如上述流程,Core模塊直接使用Base提供的接口,Base模塊對(duì)接口進(jìn)行定義,對(duì)于依賴平臺(tái)的能力,在編譯期就選擇了對(duì)應(yīng)OS的平臺(tái)抽象層OSAL。運(yùn)行時(shí),直接通過(guò)OSAL的實(shí)現(xiàn),調(diào)用到具體平臺(tái)相關(guān)的庫(kù)中。

跨平臺(tái)啟動(dòng)入口

開發(fā)框架對(duì)應(yīng)平臺(tái)語(yǔ)言實(shí)現(xiàn)的Entrance,提供不同平臺(tái)的基礎(chǔ)入口環(huán)境,跨平臺(tái)啟動(dòng)入口功能列表:

  • 提供多個(gè)平臺(tái)的加載入口,如OpenHarmony側(cè)為一個(gè)Ability,Android側(cè)為一個(gè)Activity。
  • 對(duì)接不同平臺(tái)的生命周期、事件輸入、Vsync。
  • 對(duì)接不同平臺(tái)的窗口系統(tǒng)、硬件渲染加速。
  • 對(duì)接不同平臺(tái)的應(yīng)用信息。
  • 不同平臺(tái)的原生語(yǔ)言轉(zhuǎn)換到統(tǒng)一的C++后端,公共代碼復(fù)用。

以Android的啟動(dòng)流程為例,整體交互流程如下:

Stage模型下,Ability聲明周期的入口為StageAbility,生命周期一直會(huì)通知到JsAbility,執(zhí)行用戶的生命周期回調(diào)方法,UI的頁(yè)面是在onWindowStageCreated的生命周期中,調(diào)用Window的loadContent接口進(jìn)行加載,創(chuàng)建ArkUI的實(shí)例并初始化渲染管線,將頁(yè)面進(jìn)行渲染顯示。

跨平臺(tái)能力橋接

跨平臺(tái)能力橋接包含框架內(nèi)部需要用到的不同的平臺(tái)能力模塊,如:剪切板、輸入法、視頻等,提供基礎(chǔ)能力模塊的定義,不同平臺(tái)按照定義實(shí)現(xiàn)對(duì)應(yīng)的功能模塊。功能列表:

  • 剪切板抽象接口,及不同平臺(tái)的實(shí)現(xiàn)。
  • 輸入法抽象接口,及不同平臺(tái)的實(shí)現(xiàn)。
  • 視頻媒體等抽象接口,及不同平臺(tái)的實(shí)現(xiàn)。
  • 其它框架內(nèi)部需要用到的不同的平臺(tái)能力模塊。

以剪切板ClipBoard為例,整體交互流程如下:

如上圖,例如在框架核心層的TextField組件中,需要用到剪切板的能力,通過(guò)Proxy創(chuàng)建具體的ClipBoard實(shí)現(xiàn),返回抽象的ClipBoard接口。在組件實(shí)現(xiàn)層即可實(shí)現(xiàn)平臺(tái)無(wú)關(guān)的調(diào)用。以Android平臺(tái)為例,GetData的調(diào)用會(huì)通過(guò)JNI調(diào)用到平臺(tái)實(shí)現(xiàn)的Plugin中,然后Plugin通過(guò)訪問(wèn)剪切板服務(wù)實(shí)現(xiàn)對(duì)應(yīng)的功能。

API擴(kuò)展機(jī)制

1、JS API擴(kuò)展機(jī)制,用于Native接口能力暴露到JS層,該機(jī)制直接復(fù)用OpenHarmony上的統(tǒng)一封裝機(jī)制,擴(kuò)展API (C++實(shí)現(xiàn)),并實(shí)現(xiàn)部分內(nèi)置API,NAPI的整體結(jié)構(gòu)如下圖。

對(duì)于不同平臺(tái), JS API需要遵循OpenHarmony的API定義 ,在不同平臺(tái)上通過(guò)API擴(kuò)展機(jī)制進(jìn)行擴(kuò)展。

跨平臺(tái)命令行工具ACE Tools

ACE Tools命令行工具作為ArkUI-X跨平臺(tái)應(yīng)用構(gòu)建工具,具有創(chuàng)建/編譯/安裝/運(yùn)行調(diào)試OpenHarmony、Android和iOS應(yīng)用的能力。

搜狗高速瀏覽器截圖20240326151450.png

`HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

ACE Tools代碼結(jié)構(gòu)
 cli
  ├─node_modules
  ├─src
  │  ├─ace-build                 // 構(gòu)建跨平臺(tái)應(yīng)用安裝包
  │  │  ├─ace-compiler
  │  │  └─ace-packager
  │  ├─ace-check                 // 查驗(yàn)ArkUI跨平臺(tái)應(yīng)用開發(fā)依賴的的庫(kù)和工具鏈?zhǔn)欠裢暾?/span>
  │  ├─ace-clean                 // 清理跨平臺(tái)應(yīng)用編譯結(jié)果
  │  ├─ace-config                // 配置ArkUI跨平臺(tái)應(yīng)用開發(fā)環(huán)境
  │  ├─ace-create                // 創(chuàng)建ArkUI跨平臺(tái)應(yīng)用工程
  │  │  ├─aar
  │  │  ├─ability
  │  │  ├─component
  │  │  ├─framework
  │  │  ├─module
  │  │  └─project
  │  ├─ace-devices               // 列出當(dāng)前PC所鏈接的各平臺(tái)設(shè)備
  │  ├─ace-install               // 將跨平臺(tái)應(yīng)用安裝到連接的設(shè)備上
  │  ├─ace-launch                // 在設(shè)備上運(yùn)行跨平臺(tái)應(yīng)用
  │  ├─ace-log                   // 滾動(dòng)展示正在運(yùn)行的跨平臺(tái)應(yīng)用的日志
  │  ├─ace-run                   // 運(yùn)行跨平臺(tái)應(yīng)用包
  │  ├─ace-test                  // 執(zhí)行測(cè)試代碼
  │  ├─ace-uninstall             // 將跨平臺(tái)應(yīng)用從設(shè)備上卸載
  │  ├─bin                       // 命令行入口腳本
  │  └─util
  └─templates                    // 跨平臺(tái)應(yīng)用工程模板

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2392

    瀏覽量

    43050
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3744

    瀏覽量

    16580
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開發(fā)學(xué)習(xí):初探【ArkUI-X

    **簡(jiǎn)單來(lái)說(shuō),ArkTS + ArkUI-X 對(duì)標(biāo)的框架為 flutter,一次代碼,編譯為 native 全平臺(tái)運(yùn)行**
    的頭像 發(fā)表于 05-13 15:58 ?1134次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)學(xué)習(xí):初探【<b class='flag-5'>ArkUI-X</b>】

    鴻蒙ArkUI-X平臺(tái)開發(fā):【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項(xiàng)目平臺(tái)應(yīng)用開發(fā)者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺(tái)運(yùn)行,用于構(gòu)建OpenHarmony/HarmonyOS
    的頭像 發(fā)表于 05-21 17:39 ?1982次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>開發(fā):【命令行工具(ACE Tools)】

    鴻蒙ArkUI-X平臺(tái)開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI
    的頭像 發(fā)表于 05-20 16:28 ?881次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>開發(fā):【SDK目錄結(jié)構(gòu)介紹】

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI平臺(tái)設(shè)計(jì)總體說(shuō)明】

    本文檔描述ArkUI開發(fā)框架平臺(tái)運(yùn)行能力相關(guān)的總體技術(shù)方案。
    的頭像 發(fā)表于 05-24 15:41 ?1634次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)<b class='flag-5'>ArkUI-X</b>基礎(chǔ)知識(shí):【<b class='flag-5'>ArkUI</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>設(shè)計(jì)總體說(shuō)明】

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI代碼工程及構(gòu)建介紹】

    ArkUI作為OpenHarmony的默認(rèn)開發(fā)框架,在本項(xiàng)目(ArkUI-X)中需要做到一套代碼同時(shí)支持多平臺(tái)構(gòu)建,所以會(huì)采取共倉(cāng)開發(fā)的方式,部分倉(cāng)直接指向OpenHarmony相關(guān)開源倉(cāng)。
    的頭像 發(fā)表于 05-25 16:45 ?2187次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)<b class='flag-5'>ArkUI-X</b>基礎(chǔ)知識(shí):【<b class='flag-5'>ArkUI</b>代碼工程及構(gòu)建介紹】

    ArkUI-X開發(fā)指南:【SDK配置和構(gòu)建說(shuō)明】

    ArkUI-X SDK是ArkUI-X開源項(xiàng)目的編譯產(chǎn)物,可將ArkUI-X SDK集成到現(xiàn)有Android和iOS應(yīng)用工程中,使開發(fā)者基于一套ArkTS主代碼,就可以構(gòu)建支持多平臺(tái)
    的頭像 發(fā)表于 05-25 16:48 ?2791次閱讀
    <b class='flag-5'>ArkUI-X</b>開發(fā)指南:【SDK配置和構(gòu)建說(shuō)明】

    資訊速遞 | ArkUI-X 預(yù)覽版已正式開源!

    OpenHarmony項(xiàng)目群技術(shù)指導(dǎo)委員會(huì)(以下簡(jiǎn)稱“TSC”)-平臺(tái)應(yīng)用開發(fā)框架TSG所孵化項(xiàng)目 —— ArkUI-X,近期已正式開源 ,開發(fā)者基于一套主代碼,就可以將在OpenH
    發(fā)表于 08-11 16:10

    資訊速遞 | ArkUI-X 預(yù)覽版已正式開源!

    OpenHarmony項(xiàng)目群技術(shù)指導(dǎo)委員會(huì)(以下簡(jiǎn)稱“TSC”)-平臺(tái)應(yīng)用開發(fā)框架TSG所孵化項(xiàng)目 —— ArkUI-X,近期已正式開源 ,開發(fā)者基于一套主代碼,就可以將在OpenH
    的頭像 發(fā)表于 08-22 22:19 ?884次閱讀
    資訊速遞 | <b class='flag-5'>ArkUI-X</b> 預(yù)覽版已正式開源!

    鴻蒙平臺(tái)框架:【ArkUi-X】創(chuàng)建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個(gè)文章分享一下
    的頭像 發(fā)表于 05-13 17:48 ?1053次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>框架:【<b class='flag-5'>ArkUi-X</b>】創(chuàng)建工程

    鴻蒙ArkUI-X平臺(tái)技術(shù):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI平臺(tái)應(yīng)用開發(fā)的初學(xué)者。通過(guò)開發(fā)環(huán)境搭建、應(yīng)用工程創(chuàng)建、編譯和運(yùn)行,熟悉ArkUI
    的頭像 發(fā)表于 05-24 10:40 ?568次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>技術(shù)</b>:【開發(fā)準(zhǔn)備】

    鴻蒙ArkUI-X平臺(tái)技術(shù):【開發(fā)初體驗(yàn)】

    在DevEco Studio中導(dǎo)入ArkUI-X Sample,快速創(chuàng)建平臺(tái)工程。
    的頭像 發(fā)表于 05-17 15:54 ?760次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b><b class='flag-5'>技術(shù)</b>:【開發(fā)初體驗(yàn)】

    鴻蒙ArkUI-X平臺(tái)開發(fā):【 應(yīng)用工程結(jié)構(gòu)說(shuō)明】

    本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI
    的頭像 發(fā)表于 05-19 21:05 ?658次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b><b class='flag-5'>平臺(tái)</b>開發(fā):【 應(yīng)用工程結(jié)構(gòu)說(shuō)明】

    鴻蒙ArkUI-X語(yǔ)言調(diào)用說(shuō)明:【平臺(tái)橋接(@arkui-x.bridge)】

    平臺(tái)橋接用于客戶端(ArkUI)和平臺(tái)(Android或iOS)之間傳遞消息,即用于ArkUI平臺(tái)雙向數(shù)據(jù)傳遞、
    的頭像 發(fā)表于 05-21 15:09 ?832次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b>語(yǔ)言調(diào)用說(shuō)明:【<b class='flag-5'>平臺(tái)</b>橋接(@<b class='flag-5'>arkui-x</b>.bridge)】

    鴻蒙ArkUI-X語(yǔ)言調(diào)用說(shuō)明:平臺(tái)差異化【Android、ios動(dòng)態(tài)化】

    ArkUI-X支持動(dòng)態(tài)化,使用者可以根據(jù)自己需要?jiǎng)討B(tài)發(fā)布平臺(tái)內(nèi)容,從而使平臺(tái)部分和宿主應(yīng)用進(jìn)行解耦。
    的頭像 發(fā)表于 05-23 14:38 ?987次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b><b class='flag-5'>跨</b>語(yǔ)言調(diào)用說(shuō)明:<b class='flag-5'>平臺(tái)</b>差異化【Android、ios動(dòng)態(tài)化】

    鴻蒙ArkUI-X框架開發(fā):【開發(fā)準(zhǔn)備】

    本文檔適用于ArkUI-X框架開發(fā)的初學(xué)者。通過(guò)環(huán)境搭建、代碼下載、代碼編譯、API擴(kuò)展和使用,快速了解平臺(tái)項(xiàng)目開發(fā)流程。
    的頭像 發(fā)表于 05-23 21:02 ?521次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI-X</b>框架開發(fā):【開發(fā)準(zhǔn)備】
    月亮城百家乐官网的玩法技巧和规则 | 至尊百家乐赌场娱乐网规则| 大发888国际体育| 百家乐注册开户送现金| 百家乐官网投注方法| 大发888游戏下载官网免费| 百家乐投注组合| 网上百家乐官网信誉度| 全讯网高手世家| 网上百家乐注册彩金| 视频百家乐官网攻略| 博尔国际| 劳力士百家乐的玩法技巧和规则 | 金尊国际娱乐| 真人百家乐赌场娱乐网规则| 联合百家乐官网的玩法技巧和规则| 阿鲁科尔沁旗| 大发888游戏平台 df888ylc3403 | 3D乐财网| 威尼斯人娱乐网站安全吗| 太阳城百家乐的分数| 真让百家乐官网游戏开户| 真钱的棋牌游戏| 澳门百家乐的玩法技巧和规则| 2024九紫离火| 百家乐官网记牌器| 尊龙备用网站| 狮威百家乐的玩法技巧和规则| 百家乐大小是什么| 百家乐官网打揽法| 金宝博百家乐官网娱乐城| ,博彩通| 大发888娱乐城官网| 百家乐平台网| 大家旺百家乐官网的玩法技巧和规则| 临汾玩百家乐官网的人在那里找| 境外赌博| 大发888优惠代码| 澳门百家乐官网| 百家乐7scs娱乐网| 永利高百家乐会员|