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

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

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

ArkUI開發(fā)框架介紹

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-06-22 10:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ArkUI 是為 OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)設(shè)計(jì)的應(yīng)用開發(fā)框架,該框架接近自然語言,開發(fā)難度小,可以提升開發(fā)效率。還有運(yùn)行效率高等特點(diǎn),方便開發(fā)者更加直觀便捷地進(jìn)行 UI 開發(fā)。第三期戰(zhàn)“碼”先鋒直播間圍繞 ArkUI,邀請(qǐng)了華為終端 BG OpenHarmony 主任工程師 Sun Fei,為大家?guī)怼秴⑴c ArkUI,共建 OpenHarmony 繁榮生態(tài)》。為大家講解:什么是 ArkUI、ArkUI 開發(fā)框架的架構(gòu)、開發(fā)者參與開源共建的價(jià)值和開發(fā)者如何參與貢獻(xiàn)。

參與戰(zhàn)“碼”先鋒,PR 征集令!你可以在 Gitee 的 OpenHarmony 代碼倉提交 PR 參與活動(dòng),和全球開發(fā)者同臺(tái)競(jìng)技,比拼技藝,為 OpenHarmony 生態(tài)建設(shè)貢獻(xiàn)力量。

什么是ArkUI

UI開發(fā)框架介紹

了解 ArkUI 前,大家首先需要了解什么是UI開發(fā)框架。Sun Fei 從三個(gè)角度介紹:①站在開發(fā)者角度來看,他們最關(guān)心的是編程語言,如界面描述需要用 xml、css 來描述布局還是其它的方式,調(diào)試是否方便。②從系統(tǒng)視角來看,開發(fā)框架給應(yīng)用提供了一個(gè)運(yùn)行環(huán)境和基礎(chǔ)的能力。當(dāng)一個(gè)程序即應(yīng)用包安裝到系統(tǒng)中,通過系統(tǒng)應(yīng)用管理的能力將應(yīng)用運(yùn)行起來,就進(jìn)入了 UI 開發(fā)框架的運(yùn)行環(huán)境中。環(huán)境中提供了組件、事件、動(dòng)效基礎(chǔ)的能力,以及一套渲染管線,它們負(fù)責(zé)把應(yīng)用中的代碼轉(zhuǎn)換成最終的內(nèi)容寫入硬件層,并呈現(xiàn)在最終的屏幕上。③從用戶的視角來看,最直觀的就是視覺和交互效果:如動(dòng)畫的連貫流暢度,響應(yīng)的快慢,幀率的高低等,這將直接影響用戶對(duì)應(yīng)用的使用體驗(yàn)。一個(gè)優(yōu)秀的開發(fā)框架主要圍繞這三點(diǎn)來設(shè)計(jì);對(duì)開發(fā)者有更好的開發(fā)體驗(yàn),在系統(tǒng)中能發(fā)揮框架的優(yōu)勢(shì),做到更好的性能和更優(yōu)的資源占用;能更快地響應(yīng),讓用戶體驗(yàn)更流暢。

746d524a-f165-11ec-ba43-dac502259ad0.png

ArkUI開發(fā)框架介紹

ArkUI 是為 OpenHarmony 設(shè)計(jì)的應(yīng)用開發(fā)框架,該框架提供兩種 UI 編程范式:ArkUI JS 類 Web 范式和 Ark eTS 聲明式 UI 范式。ArkUI JS 主要是為 Web 開發(fā)人員提供的快速開發(fā) OpenHarmony 應(yīng)用的開發(fā)框架,采用 JavaScript 作為開發(fā)語言,同時(shí)提供不同算力平臺(tái)支持的組件供開發(fā)者使用;ArkUI eTS 聲明式 UI 范式框架是一種采用極簡(jiǎn) DSL 的界面描述語法,采用 TypeScript 作為開發(fā)語言,同時(shí)在 TypeScript 的語法基礎(chǔ)上提供了裝飾器、尾隨閉包等擴(kuò)展語法。ArkUI eTS 主要是為 OpenHarmony 標(biāo)準(zhǔn)設(shè)備提供快速開發(fā)的 UI 框架,同時(shí) ArkUI eTS 開發(fā)框架還封裝了純 JS 的系統(tǒng)能力接口,開發(fā)者可以通過簡(jiǎn)單的接口調(diào)用,實(shí)現(xiàn)從 UI 設(shè)計(jì)到系統(tǒng)能力調(diào)用的極簡(jiǎn)開發(fā)。

另外,ArkUI 開發(fā)框架在 UI 組件方面,提供了多種開箱即用的組件:如文本顯示、圖片顯示、按鍵交互等;在布局上,提供了多種布局方式:彈性布局、列表、宮格、柵格布局等;也提供了屬性動(dòng)畫、轉(zhuǎn)場(chǎng)動(dòng)畫和自定義動(dòng)畫能力;同時(shí),ArkUI 開發(fā)框還提供了多種繪制能力,支持圖形繪制、顏色填充、文本繪制、圖片繪制等;交互事件:提供了多種交互能力,應(yīng)用在不同平臺(tái)通過不同輸入設(shè)備均可正常進(jìn)行 UI 交互響應(yīng);另外還提供了 API 擴(kuò)展機(jī)制,通過此種機(jī)制進(jìn)行封裝風(fēng)格統(tǒng)一的 JS 接口。

7485c30c-f165-11ec-ba43-dac502259ad0.png

兩種開發(fā)范式的示例

上文提到了兩種開發(fā)范式中,Web 開發(fā)范式是一個(gè)典型的三段式的開發(fā)模式。它是通過類似 xml 的格式來描述 UI 結(jié)構(gòu),通過 css 描述界面的樣式,通過 JavaScript 完成業(yè)務(wù)邏輯。同時(shí),框架也提供了一些數(shù)據(jù)綁定、事件綁定、API 擴(kuò)展的基礎(chǔ)能力,并提供 mediaQuery 完成響應(yīng)式布局,做到多設(shè)備的適配。

74c45662-f165-11ec-ba43-dac502259ad0.png

第二個(gè)是聲明式范式,這里實(shí)現(xiàn)了從啟動(dòng)界面跳轉(zhuǎn)到內(nèi)容列表。從頁面呈現(xiàn)的代碼可以看出,有些代碼中帶有“@”符號(hào),其中“@”被稱之為“裝飾器”,主要用來裝飾:類、結(jié)構(gòu)體、方法以及變量,賦予其特殊的含義,如示例中 @Entry 表示頁面的入口組件,@Component 表示是自定義的組件,這些都是裝飾器。另外,如上述被 @Component 裝飾的 struct Logo,被稱之為自定義組件,它是可復(fù)用的 UI 單元,可組合其它組件,其它組件可以是內(nèi)置組件比如 Flex、Shape 等。

其它還有:

?UI 描述:聲明式的方式來描述 UI 的結(jié)構(gòu),如上述 build() 方法內(nèi)部的代碼塊。

?內(nèi)置組件:框架中默認(rèn)內(nèi)置的基礎(chǔ)和布局組件,可直接被開發(fā)者調(diào)用,如代碼中的 Flex、Path、Button。

?屬性方法:用于組件屬性的配置,統(tǒng)一通過屬性方法進(jìn)行設(shè)置,如代碼中的 scale()、opacity()、color() 等。

?事件方法:用于添加組件對(duì)事件的響應(yīng)邏輯,統(tǒng)一通過事件方法進(jìn)行設(shè)置,如跟隨在 Animator 后面的 onFrame()、onFinish()。

以上是聲明式開發(fā)的一些基礎(chǔ)概念,通過自定義組件的組合,加上一些 API 的能力,就可以簡(jiǎn)單地開發(fā) UI 界面了。

74f974be-f165-11ec-ba43-dac502259ad0.png

說到 ArkUI 開發(fā)框架,不得不提的是 DevEco Studio。它集成了實(shí)時(shí)預(yù)覽的能力,讓開發(fā)者寫 UI 代碼的時(shí)候可以做到所見即所得,并且可以在預(yù)覽器上點(diǎn)擊組件對(duì)代碼進(jìn)行定位,也可以做到 UI 界面和代碼的雙向跳轉(zhuǎn)。這樣開發(fā)者可以實(shí)時(shí)查看、編輯對(duì)應(yīng)組件的屬性,讓代碼開發(fā)起來更方便。

ArkUI開發(fā)框架的架構(gòu)

ArkUI架構(gòu)

ArkUI 架構(gòu)主要圍繞開發(fā)效率、性能體驗(yàn)、多平臺(tái)支持進(jìn)行設(shè)計(jì)。?開發(fā)效率:能夠兼顧兩種開發(fā)范式,方便不同經(jīng)驗(yàn)的開發(fā)者進(jìn)行選擇,并結(jié)合工具鏈的能力,提升開發(fā)和調(diào)試的效率。?性能體驗(yàn):結(jié)合方舟編譯器和 Runtime,提升語言的執(zhí)行效率;另外,使用 C++ 開發(fā)的聲明是 UI 后端保證了渲染引擎較高的性能。

?多平臺(tái)支持:提供 NAPI 的擴(kuò)展機(jī)制,橋接到不同平臺(tái)的實(shí)現(xiàn)層,保證 API 的一致性。此外,還支持跨平臺(tái)運(yùn)行,例如設(shè)備端的效果在 PC 端的預(yù)覽,是利用引擎的跨平臺(tái)性,完全復(fù)用引擎層的代碼,這樣能保證渲染的一致性。

75107f4c-f165-11ec-ba43-dac502259ad0.png

ArkUI完整流程涉及代碼倉

如果想?yún)⑴c ArkUI 的貢獻(xiàn),可以先了解一下 ArkUI 完整生命周期的各個(gè)環(huán)節(jié)以及過程中涉及的代碼倉。首先,開發(fā)者會(huì)基于我們的 DevEco Studio 進(jìn)行應(yīng)用的開發(fā),DevEco Studio 會(huì)集成 ArkUI 提供的 SDK 和工具鏈。大家可以在這幾個(gè)代碼倉找到開發(fā)者提交一些新的組件、API 以及工具鏈相關(guān)的能力進(jìn)行學(xué)習(xí)和貢獻(xiàn)。

當(dāng)開發(fā)者寫的代碼編譯成應(yīng)用包,會(huì)經(jīng)過應(yīng)用市場(chǎng)或其它的渠道進(jìn)行分發(fā),最終安裝到終端設(shè)備上,設(shè)備上會(huì)包含 ArkUI 的運(yùn)行環(huán)境,提供基礎(chǔ)的組件和 API。這個(gè)運(yùn)行環(huán)境就是 ArkUI 框架部署在終端上的形態(tài),提供 ArkUI 的運(yùn)行環(huán)境。ArkUI 框架涉及到了核心引擎代碼倉和能力擴(kuò)展代碼倉。對(duì)于類 Web 范式還有一個(gè) JS 的 Framework,是用 JavaScript 實(shí)現(xiàn)的一個(gè)前端框架。大家有興趣的話,可以到對(duì)應(yīng)的倉進(jìn)行學(xué)習(xí)和貢獻(xiàn)。

752ed87a-f165-11ec-ba43-dac502259ad0.png

ArkUI核心代碼的模塊結(jié)構(gòu)

接下來,Sun Fei 給大家介紹ArkUI核心代碼的模塊結(jié)構(gòu)以及代碼的目錄結(jié)構(gòu),方便大家閱讀相關(guān)的源碼。首先,在前端框架層,針對(duì)類 Web 范式和聲明式范式分別會(huì)有一個(gè) JS/TS 實(shí)現(xiàn)的框架代碼。類 Web 的 JSFramework 中,會(huì)實(shí)現(xiàn)模板的解析、數(shù)據(jù)綁定、虛擬 DOM 等能力。對(duì)于聲明式框架會(huì)有一個(gè)十分輕量的框架 StateMgmt,主要負(fù)責(zé)狀態(tài)管理的能力。然后,ACE Engine 是核心引擎代碼,由 C++ 開發(fā),目錄結(jié)構(gòu)如下:

foundation/arkui/ace_engine├── ace_config.gni // 全局配置文件├── adapter // 平臺(tái)適配層│ ├── ohos // OpenHarmony平臺(tái)適配│ └── preview // 預(yù)覽器平臺(tái)適配├── build // 編譯配置├── BUILD.gn // 全局編譯配置├── frameworks // 引擎框架層│ ├── base // base庫│ ├── bridge // 前端橋接│ └── core // 引擎核心實(shí)現(xiàn)│ ├── accessibility│ ├── animation│ ├── BUILD.gn│ ├── common│ ├── components│ ├── event│ ├── focus│ ├── gestures│ ├── image│ ├── mock│ └── pipeline // 渲染管線├── interfaces // 通用對(duì)外接口└── test // 測(cè)試相關(guān)

以上是 ArkUI 核心的代碼結(jié)構(gòu),方便大家后續(xù)參考和查閱相關(guān)的代碼。如果希望參與貢獻(xiàn)的話可以以這個(gè)作為入口,進(jìn)一步了解其中的內(nèi)容。

開發(fā)者參與開源共建的價(jià)值

參與開源貢獻(xiàn)的價(jià)值

首先,參與 OpenHarmony 的開源活動(dòng),在社區(qū)的交流中,可以結(jié)識(shí)更多的伙伴,找到趣味相投的小伙伴,獲得更大的成就感。以 Sun Fei 為例,當(dāng)自己寫的代碼被更多的人使用,運(yùn)行在上億的設(shè)備上,會(huì)有很大的成就感,這是持續(xù)貢獻(xiàn)的內(nèi)在驅(qū)動(dòng)。從個(gè)人的技術(shù)能力、編碼水平提升方面來說,參與到社區(qū)中,接觸到更多的技術(shù)專家,與更多的開發(fā)者交流,在代碼 Review 的過程中和相關(guān) Committer、專家交流對(duì)自己的能力是很好的提升,也可以擴(kuò)寬自己的視野。

最后從個(gè)人的發(fā)展上來說,在社區(qū)中,有一個(gè)完整的晉升通道,Contributor 經(jīng)過自己的努力,可以成為某一個(gè)領(lǐng)域的 Committer,甚至可以成為某個(gè) PMC 的成員,來領(lǐng)導(dǎo)社區(qū)的發(fā)展。參與社區(qū)對(duì)個(gè)人的影響力也是有一定提升的,對(duì)于學(xué)生來說,如果有開源項(xiàng)目相關(guān)的經(jīng)驗(yàn),在求職過程中,是很好的加分項(xiàng)。

對(duì)于社區(qū)來說,更多貢獻(xiàn)者的參與能帶來更開放的環(huán)境。大家一起參與 OpenHarmony 的建設(shè),可以幫助 OpenHarmony 的能力進(jìn)一步完善,最終促進(jìn) OpenHarmony 的生態(tài)更加繁榮。

75435d22-f165-11ec-ba43-dac502259ad0.png

選擇ArkUI進(jìn)行貢獻(xiàn)的優(yōu)勢(shì)

Sun Fei 為大家總結(jié)了幾點(diǎn):1、ArkUI 對(duì)新手來說更直觀,寫幾行代碼就能看到效果,所見即所得。2、上手相對(duì)容易,但是想進(jìn)一步的深入地了解里面的原理又具備一定的挑戰(zhàn)。

3、社區(qū)活躍度比較高,從去年下半年轉(zhuǎn)社區(qū)開發(fā),提交的 PR 數(shù)已經(jīng)有 3000+,累計(jì) 200+ 人參與過貢獻(xiàn)。

4、調(diào)試方便,可以不依賴硬件開發(fā)板,有工作電腦就能參與。

5、提交的成果更容易被更多的人使用。

開發(fā)者如何參與貢獻(xiàn)

如何參與貢獻(xiàn)

只要你使用 ArkUI 開發(fā)自己的應(yīng)用,對(duì) OpenHarmony 來說就是巨大的貢獻(xiàn)。對(duì)一些想入門 ArkUI 的開發(fā)者,Sun Fei 建議先從應(yīng)用開發(fā)入手,你可以把在開發(fā)過程中實(shí)現(xiàn)的一些可復(fù)用的組件貢獻(xiàn)出來,讓更多的人使用。并且在開發(fā)的過程中你也可能就會(huì)發(fā)現(xiàn)一些 Bug 或易用性的問題。此時(shí),就可以在對(duì)應(yīng)的代碼倉上提交 Issue,幫助我們發(fā)現(xiàn)問題和改進(jìn)。經(jīng)過一段時(shí)間的應(yīng)用開發(fā),對(duì)框架有了進(jìn)一步的了解,如果想?yún)⑴c框架的貢獻(xiàn),則需要深入地學(xué)習(xí)框架的代碼,比如內(nèi)置組件的實(shí)現(xiàn)、渲染流程、事件處理等。當(dāng)你有了一定的積累后,就可以從 Issue 的列表中,認(rèn)領(lǐng)一些任務(wù),解決后進(jìn)一步提交 PR。對(duì)于一個(gè)資深的開發(fā)者,如果想更深入地進(jìn)行參與,組織會(huì)依照個(gè)人能力安排一些高級(jí)的特性開發(fā)。

當(dāng)然,也可以將自己寫的組件貢獻(xiàn)出來,讓更多的人使用。由自己創(chuàng)建開源工程,提交組件代碼,在 OpenHarmony-SIG 下申請(qǐng)倉,孵化畢業(yè)到 OpenHarmony-TPC,就正式成為 OpenHarmony 指定的三方庫,讓更多的人用到。也可以將自己的組件共享到 OHOS 的 npm 中心,方便其他人快捷的引用,后續(xù)可直接申請(qǐng)?zhí)峤坏?ArkUI 的組件庫中。

757c4d9e-f165-11ec-ba43-dac502259ad0.png

貢獻(xiàn)和開發(fā)流程

如果開發(fā)者發(fā)現(xiàn)問題,可以在代碼倉庫中提交 Issue。在代碼倉庫的右上角,點(diǎn)擊新建 Issue,按照規(guī)范填寫標(biāo)題、內(nèi)容,清楚地描述問題是怎么觸發(fā)的,以及當(dāng)時(shí)的測(cè)試環(huán)境。最好能提供觸發(fā)問題的應(yīng)用代碼或安裝包,這樣能夠更加順利地讓社區(qū)的其他開發(fā)者發(fā)現(xiàn)問題并解決問題。

當(dāng)發(fā)現(xiàn)有能力解決 Issue,即可在社區(qū)中認(rèn)領(lǐng) Issue 并解決。在 Issue 列表中找到自己感興趣的問題,評(píng)論回復(fù),表達(dá)你想認(rèn)領(lǐng)的 Issue 的意愿,社區(qū)的管理員看到后會(huì)審核并把 Issue 分配給你,你就可開始準(zhǔn)備解決問題并提交了。

認(rèn)領(lǐng) Issue 后,開發(fā)者便進(jìn)入了完整的開發(fā)階段,首先需要搭建基礎(chǔ)的開發(fā)環(huán)境:

1. 下載完整 OpenHarmony 代碼,參考官方指導(dǎo)配置開發(fā)環(huán)境。

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard.md

2. 在對(duì)應(yīng)的倉點(diǎn)擊 Fork,將代碼 Fork 到自己的私倉。

759bf89c-f165-11ec-ba43-dac502259ad0.png

3. 將私倉加入到開發(fā)環(huán)境的遠(yuǎn)端倉中,fetch過后就能看到個(gè)人倉的所有分支。

75afcce6-f165-11ec-ba43-dac502259ad0.jpg

# git remote add [《選項(xiàng)》] 《名稱》 《地址》

git remote add sunfei2021 git@gitee.com:sunfei2021/ace_ace_engine.git

git fetch sunfei2021

4. 建立一個(gè)本地分支跟蹤個(gè)人倉的分支。

# git checkout -b [本地分支] [遠(yuǎn)端分支]

git checkout -b work_0506 sunfei2021/master

5. 修改代碼,本地驗(yàn) 證OK,提交代碼,并 push 到遠(yuǎn)端分支。

git commit -sm “fix xxx issue”

git push -f sunfei2021

6. 創(chuàng)建 PR、關(guān)聯(lián) Issue、觸發(fā) CI(評(píng)論`start build`),獲取鏡像基本功能自驗(yàn)證,聯(lián)系 Reviewer,在評(píng)論區(qū)交流,等待代碼合入。

75cf58c2-f165-11ec-ba43-dac502259ad0.png

當(dāng)代碼合入后,你便正式成為了 OpenHarmony 的 Contributor,按照操作流程,希望大家能夠多多嘗試,最終成為社區(qū)達(dá)人。

最后,Sun Fei 簡(jiǎn)單介紹了 ArkUI 的發(fā)展方向。因?yàn)?OpenHarmony 是面向萬物互聯(lián)的系統(tǒng),所以目標(biāo)是適配不同的設(shè)備,ArkUI 未來會(huì)在多設(shè)備適配、多態(tài)控件、動(dòng)態(tài)布局這些能力上持續(xù)提升開發(fā)者的體驗(yàn)。同時(shí),近期也會(huì)開源 ArkUI 的跨平臺(tái)支持能力。這就意味著通過 ArkUI 寫的應(yīng)用,不僅僅只能運(yùn)行在 OpenHarmony 上,也可以運(yùn)行在其它的系統(tǒng)上,今年 ArkUI 還會(huì)支持 AndroidiOS 的跨平臺(tái)版本,大家敬請(qǐng)期待。

ArkUI 期待您的參與,參與戰(zhàn)“碼”先鋒,PR 征集令!在 Gitee 的 OpenHarmony 代碼倉提交 PR 參與活動(dòng),和全球的開發(fā)者一起共建 OpenHarmony 的繁榮生態(tài)!

文中涉及的鏈接匯總:

SDK:

https://gitee.com/openharmony/interface_sdk-js

工具鏈:

https://gitee.com/openharmony/developtools_ace-ets2bundle

https://gitee.com/openharmony/developtools_ace-js2bundle

核心引擎:

https://gitee.com/openharmony/arkui_ace_engine

能力擴(kuò)展:

https://gitee.com/openharmony/arkui_napi

JS Framework:

https://gitee.com/openharmony/third_party_jsframework

官方指導(dǎo)配置開發(fā)環(huán)境:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard.md

審核編輯 :李倩

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

    關(guān)注

    0

    文章

    404

    瀏覽量

    17845
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3847

    瀏覽量

    18370

原文標(biāo)題:30分鐘成為Contributor|如何從ArkUI入手,為OpenHarmony項(xiàng)目提PR

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【HarmonyOS next】ArkUI-X休閑益智猜字謎【基礎(chǔ)】

    下圖是在iOS中的運(yùn)行效果 下圖是在HarmonyOS中的運(yùn)行效果 今天咱們來聊聊如何用ArkUI-X這個(gè)新興框架實(shí)現(xiàn)跨端開發(fā),通過一個(gè)猜字謎小游戲帶大家感受它的開發(fā)魅力。本文不僅能讓
    發(fā)表于 06-26 20:01

    ArkUI-X通過Stage模型開發(fā)Android端應(yīng)用指南(一)

    簡(jiǎn)介 本文介紹ArkUI框架擴(kuò)展到Android平臺(tái)所需要的必要的類及其使用說明,開發(fā)者基于OpenHarmony,可復(fù)用大部分的應(yīng)用代碼(生命周期等)并可以部署到Android平臺(tái)
    發(fā)表于 06-24 22:16

    ArkUI介紹

    ArkUI(方舟UI框架)為應(yīng)用的UI開發(fā)提供了完整的基礎(chǔ)設(shè)施,包括簡(jiǎn)潔的UI語法、豐富的UI功能(組件、布局、動(dòng)畫以及交互事件),以及實(shí)時(shí)界面預(yù)覽工具等,可以支持開發(fā)者進(jìn)行可視化界面
    發(fā)表于 06-24 06:41

    ArkUI-X案例解析

    != undefined) { this.backDisplaySyncSlow?.stop(); } } } 由于當(dāng)前ArkUI-X框架未適配這套方法,在arkui-x側(cè)實(shí)際上使用了
    發(fā)表于 06-23 22:40

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

    簡(jiǎn)介 本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基
    發(fā)表于 06-19 23:11

    ArkUI-X跨平臺(tái)應(yīng)用改造指南

    工作量大幅增加,開發(fā)成本也隨之上升,而且很難保持一致的交互體驗(yàn)。 ArkUI-X 跨平臺(tái)框架是基于 HarmonyOS 打造的跨端跨平臺(tái)框架,能實(shí)現(xiàn) “一次
    發(fā)表于 06-16 23:05

    ArkUI-X與Android聯(lián)動(dòng)編譯開發(fā)指南

    本文主要介紹通過CLI工具鏈執(zhí)行ace create project命令創(chuàng)建工程,生成聯(lián)動(dòng)編譯腳本。使用Android Studio編譯Android應(yīng)用時(shí),可聯(lián)動(dòng)編譯ArkTS源碼,并自動(dòng)拷貝
    發(fā)表于 06-16 22:55

    ArkUI-X在Android平臺(tái)動(dòng)態(tài)化開發(fā)指南

    本文介紹如何在Android平臺(tái)進(jìn)行ArkUI-X動(dòng)態(tài)化開發(fā),包括動(dòng)態(tài)化目錄規(guī)則及約束。 適用場(chǎng)景 動(dòng)態(tài)化主要包括兩個(gè)典型場(chǎng)景: 場(chǎng)景1:框架動(dòng)態(tài)化,為了降低應(yīng)用ROM體積占用,及滿足
    發(fā)表于 06-15 23:33

    ArkUI-X框架LogInterface使用指南

    ArkUI-X框架支持日志攔截能力,Android側(cè)提供原生接口,用于注入LogInterface接口,框架日志及ts日志通過該接口輸出,本文的核心內(nèi)容是介紹如何在Android平臺(tái)上
    發(fā)表于 06-15 23:20

    ArkUI-X構(gòu)建Android平臺(tái)AAR及使用

    本教程主要講述如何利用ArkUI-X SDK完成Android AAR開發(fā),實(shí)現(xiàn)基于ArkTS的聲明式開發(fā)范式在android平臺(tái)顯示。包括: 1.跨平臺(tái)Library工程開發(fā)
    的頭像 發(fā)表于 06-12 22:45 ?176次閱讀

    ArkUI-X在Android上使用Fragment開發(fā)指南

    本文介紹ArkUI框架的UIAbility跨平臺(tái)部署至Android平臺(tái)Fragment的使用說明,實(shí)現(xiàn)Android原生Fragment和ArkUI跨平臺(tái)Fragment的混合
    發(fā)表于 06-12 22:42

    ArkUI-X跨平臺(tái)框架接入指南

    ArkUI跨平臺(tái)框架(ArkUI-X)進(jìn)一步將ArkUI開發(fā)框架擴(kuò)展到了多個(gè)OS平臺(tái):目前支持O
    發(fā)表于 05-18 18:21

    AI開發(fā)框架集成介紹

    隨著AI應(yīng)用的廣泛深入,單一框架往往難以滿足多樣化的需求,因此,AI開發(fā)框架的集成成為了提升開發(fā)效率、促進(jìn)技術(shù)創(chuàng)新的關(guān)鍵路徑。以下,是對(duì)AI開發(fā)
    的頭像 發(fā)表于 01-07 15:58 ?523次閱讀

    HarmonyOS開發(fā)指導(dǎo)類文檔更新速遞(上)

    、媒體相關(guān)能力新增、優(yōu)化文檔,方便開發(fā)者更加高效使用文檔。 ArkUI(方舟UI框架ArkUI(方舟UI框架)是一個(gè)簡(jiǎn)潔、高性能、支持跨
    的頭像 發(fā)表于 12-30 09:50 ?971次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>指導(dǎo)類文檔更新速遞(上)

    大語言模型開發(fā)框架是什么

    大語言模型開發(fā)框架是指用于訓(xùn)練、推理和部署大型語言模型的軟件工具和庫。下面,AI部落小編為您介紹大語言模型開發(fā)框架。
    的頭像 發(fā)表于 12-06 10:28 ?506次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品