chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ArkUI框架,更懂程序員的UI信息語法

HarmonyOS開發(fā)者 ? 來源:未知 ? 2022-12-14 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


ArkUI框架簡化代碼的“秘密”

628dce04-7b4b-11ed-8abf-dac502259ad0.gif

在傳統(tǒng)的開發(fā)過程中,總有個(gè)問題在困擾我:如何實(shí)現(xiàn)前端view與后端數(shù)據(jù)的同步更改?例如:在某個(gè)視頻類app的頁面,如果我想要實(shí)現(xiàn)視頻的點(diǎn)擊播放功能,需要怎么樣進(jìn)行呢?

62bea42a-7b4b-11ed-8abf-dac502259ad0.gif

如果我使用傳統(tǒng)的命令式開發(fā)框架去實(shí)現(xiàn),容易造成的麻煩在于,每次后端的數(shù)據(jù)發(fā)生更改,我都需要手動(dòng)更新前端view。

為了解決這個(gè)問題,我便在ArkUI上實(shí)現(xiàn)了同樣的功能,神奇的事情發(fā)生了,瞬間代碼干凈了很多,只用幾行代碼就實(shí)現(xiàn)了相同的功能。

640cb600-7b4b-11ed-8abf-dac502259ad0.gif

于是我搜索了一下ArkUI有什么優(yōu)勢。發(fā)現(xiàn)很重要的一個(gè)原因:ArkUI使用了聲明式UI開發(fā)框架,同時(shí)在UI描述上運(yùn)用了可以和語言運(yùn)行時(shí)深度結(jié)合的自研語言ArkTS。

聲明式框架的“廬山真面目”

64697df4-7b4b-11ed-8abf-dac502259ad0.gif

這里肯定會(huì)有小伙伴提出疑問:什么是聲明式開發(fā)框架?在介紹之前,我們先了解一下傳統(tǒng)的命令式開發(fā)框架思路,作為一個(gè)程序員,一旦我想要更改View,就需要先更改View對應(yīng)的Data,然后再更改View的顯示內(nèi)容。

648c2732-7b4b-11ed-8abf-dac502259ad0.gif

而聲明式開發(fā)框架則不同,ArkUI的聲明式框架框架更為高效,可以讓data與前端view同步更新數(shù)據(jù)。

64c2fa6e-7b4b-11ed-8abf-dac502259ad0.gif

那ArkUI框架是如何實(shí)現(xiàn)同步更新的呢?這個(gè)原理非常簡單,想象一下我現(xiàn)在要蓋一棟大樓,我需要把項(xiàng)目先交給包工頭,包工頭再把具體的工作分配給工人,工人依據(jù)圖紙建造大樓,當(dāng)圖紙變動(dòng)的時(shí)候,工人也需要按照圖紙更改建造動(dòng)作。

64e48800-7b4b-11ed-8abf-dac502259ad0.png

與此相對的,在ArkUI命令式框架內(nèi)部,有兩個(gè)重要的角色,代理和攔截器。

650034b0-7b4b-11ed-8abf-dac502259ad0.gif

代理可以將目標(biāo)數(shù)據(jù)進(jìn)行代理,并為目標(biāo)數(shù)據(jù)綁定到攔截器上。而攔截器會(huì)監(jiān)聽目標(biāo)數(shù)據(jù)的變化,當(dāng)數(shù)據(jù)更新時(shí),攔截器就會(huì)重寫數(shù)據(jù)的set方法,同時(shí)自動(dòng)更新數(shù)據(jù)對應(yīng)的前端頁面,整個(gè)過程不需要程序員進(jìn)行手動(dòng)命令更新。

原子布局能力實(shí)現(xiàn)頁面布局一致性

聲明式開發(fā)框架成功解決了傳統(tǒng)開發(fā)過程中,代碼冗長的問題。但是在了解聲明式開發(fā)框架的過程中,我想到一個(gè)問題:有沒有方法,讓我開發(fā)一次代碼,就可以在多個(gè)設(shè)備上適配呢?

651d8704-7b4b-11ed-8abf-dac502259ad0.gif

ArkUI就提供了這一功能,于是我動(dòng)手試了一下。當(dāng)設(shè)備尺寸變寬時(shí),我可以通過原子布局的均分能力去實(shí)現(xiàn)頁面布局的一致性,也可以通過柵格布局,去解決多尺寸多設(shè)備的動(dòng)態(tài)布局問題。

65638b28-7b4b-11ed-8abf-dac502259ad0.gif

剛剛提到的原子布局能力包含均分能力,折行能力,拉伸能力,縮放能力,延伸能力,占比能力和隱藏能力??梢詭椭覀冊诓煌O(shè)備上保持體驗(yàn)的一致性。這樣自適應(yīng)的問題解決了。

65842fe0-7b4b-11ed-8abf-dac502259ad0.png

針對設(shè)備獨(dú)有的特性,比如平板適配左側(cè)導(dǎo)航欄,這個(gè)有什么方法實(shí)現(xiàn)呢?這里我找到了媒體查詢,它可以判斷設(shè)備類型,設(shè)計(jì)出相匹配的布局樣式,同時(shí)還可以監(jiān)聽屏幕尺寸動(dòng)態(tài)變化,比如橫豎屏切換可以通過orientation屬性判斷屏幕橫豎狀態(tài)來動(dòng)態(tài)適配,另外還支持判斷分屏狀態(tài)、折疊屏展開狀態(tài)等,這樣就解決了我一次開發(fā)多端部署的難題。

同時(shí),ArkUI框架為開發(fā)者提供了多態(tài)組件,同一控件在不同的設(shè)備上會(huì)呈現(xiàn)出不同的形態(tài),所以開發(fā)者在使用多態(tài)組件時(shí),無需考慮設(shè)備差異,只需關(guān)注功能實(shí)現(xiàn)即可。

常用組件

在這里我們總結(jié)了一下常用組件:

65a207b8-7b4b-11ed-8abf-dac502259ad0.png

常見的容器類組件有列表,彈出框。

65c60bb8-7b4b-11ed-8abf-dac502259ad0.png

展示類組件有文本,進(jìn)度條,事件標(biāo)記和氣泡指示。

65f0a594-7b4b-11ed-8abf-dac502259ad0.png

導(dǎo)航類組件有Tab頁簽。

6607ea4c-7b4b-11ed-8abf-dac502259ad0.png66282f0a-7b4b-11ed-8abf-dac502259ad0.png

操作類組件有按鈕,下拉選項(xiàng),選擇器,評分條,搜索框和菜單。

這樣一來,我只需要選擇合適的組件進(jìn)行開發(fā),就可以一次開發(fā),多端部署。大大節(jié)省我的開發(fā)時(shí)間。

總結(jié)

根據(jù)前文不難看出,ArkUI是一套用于構(gòu)建HarmonyOS應(yīng)用界面的UI開發(fā)框架。

我們總結(jié)一下它主要有以下三個(gè)特性:

1、極簡的UI信息語法

2、支持多設(shè)備開發(fā),一次開發(fā)多端部署

3、開箱即用的多態(tài)UI組件

從而幫助開發(fā)者提升HarmonyOS應(yīng)用界面的開發(fā)效率。

END

關(guān)于ArkUI的介紹想了解更多?

請登錄開發(fā)者官網(wǎng)!

成為HarmonyOS開發(fā)者一員!

想了解更多HarmonyOS技術(shù)?后臺(tái)留言,立刻安排!


原文標(biāo)題:ArkUI框架,更懂程序員的UI信息語法

文章出處:【微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    80

    文章

    2144

    瀏覽量

    35188

原文標(biāo)題:ArkUI框架,更懂程序員的UI信息語法

文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    【HarmonyOS next】ArkUI-X休閑益智連連看【進(jìn)階】

    一套代碼雙端運(yùn)行的跨平臺(tái)實(shí)踐 在移動(dòng)應(yīng)用開發(fā)中,跨平臺(tái)技術(shù)始終是開發(fā)者追求的圣杯。借助ArkUI-X框架,我們僅用一套ArkTS代碼即可實(shí)現(xiàn)應(yīng)用在HarmonyOS和iOS雙端的原生級運(yùn)行。本文以
    發(fā)表于 06-28 21:51

    ArkUI介紹

    ArkUI(方舟UI框架)為應(yīng)用的UI開發(fā)提供了完整的基礎(chǔ)設(shè)施,包括簡潔的UI語法、豐富的
    發(fā)表于 06-24 06:41

    UI開發(fā)概述

    語言。 布局 布局是UI的必要元素,它定義了組件在界面中的位置。ArkUI框架提供了多種布局方式,除了基礎(chǔ)的線性布局、層疊布局、彈性布局、相對布局、柵格布局外,也提供了相對復(fù)雜的列表、宮格、輪播。 組件
    發(fā)表于 06-24 06:36

    HarmonyOS NEXT應(yīng)用元服務(wù)布局優(yōu)化ArkUI框架執(zhí)行流程

    一、 ArkUI框架執(zhí)行流程 在使用ArkUI開發(fā)中,我們通過布局組件和基礎(chǔ)組件進(jìn)行界面描述,這些描述會(huì)呈現(xiàn)出一個(gè)組件樹的結(jié)構(gòu),基礎(chǔ)組件在其中為葉子結(jié)點(diǎn),布局組件則是中間節(jié)點(diǎn),可以把這棵樹稱之為
    發(fā)表于 06-23 09:41

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

    簡介 本文檔配套ArkUI-X,將OpenHarmony ArkUI開發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開發(fā)者基于ArkUI,可復(fù)用大部分的應(yīng)用代碼(
    發(fā)表于 06-19 23:11

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

    ,包含了應(yīng)用的所有UI界面、彈窗、媒體圖片等元素,這些都是能夠被用戶直接感知并進(jìn)行操作的。此層是借助HarmonyOS的ArkUI組件以及相關(guān)能力來進(jìn)行設(shè)計(jì)與開發(fā)的,并且ArkUI-X框架
    發(fā)表于 06-16 23:05

    ArkUI-X框架LogInterface使用指南

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

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強(qiáng)大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實(shí)現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?886次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:19 ?2次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補(bǔ)充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補(bǔ)充.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費(fèi)下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機(jī)械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會(huì)在成都舉行,機(jī)械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機(jī)械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計(jì)的CODE AI程序員本,成為本次大會(huì)的一大亮點(diǎn)。
    的頭像 發(fā)表于 11-30 10:34 ?2036次閱讀

    Linux驅(qū)動(dòng)程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動(dòng)程序程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動(dòng)<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會(huì)不會(huì)搶程序員飯碗

    AI編程工具可輔助編程,減少手動(dòng)編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識(shí)應(yīng)對。長遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?696次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報(bào)道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會(huì)、主題峰會(huì)及賽事、展覽等活動(dòng),一場
    的頭像 發(fā)表于 10-25 15:42 ?647次閱讀