一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

ArkUI框架,更懂程序員的UI信息語(yǔ)法

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

掃碼添加小助手

加入工程師交流群


ArkUI框架簡(jiǎn)化代碼的“秘密”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

常用組件

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

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

常見(jiàn)的容器類組件有列表,彈出框。

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

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

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

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

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

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

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

總結(jié)

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

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

1、極簡(jiǎn)的UI信息語(yǔ)法

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

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

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

END

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

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

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

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


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

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


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33155

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    ArkUI介紹

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

    UI開(kāi)發(fā)概述

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

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

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

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

    簡(jiǎn)介 本文檔配套ArkUI-X,將OpenHarmony ArkUI開(kāi)發(fā)框架擴(kuò)展到不同的OS平臺(tái),比如Android和iOS平臺(tái),讓開(kā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)能力來(lái)進(jìn)行設(shè)計(jì)與開(kāi)發(fā)的,并且ArkUI-X框架
    發(fā)表于 06-16 23:05

    ArkUI-X框架LogInterface使用指南

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

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

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

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:19 ?0次下載
    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程序員手冊(cè)

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

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

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

    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)編碼,提升效率,對(duì)程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識(shí)應(yīng)對(duì)。長(zhǎng)遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?538次閱讀

    第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開(kāi)幕

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