91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(pí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)勢(shì)。發(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對(duì)應(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í)候,工人也需要按照?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)聽目標(biāo)數(shù)據(jù)的變化,當(dāng)數(shù)據(jù)更新時(shí),攔截器就會(huì)重寫數(shù)據(jù)的set方法,同時(shí)自動(dòng)更新數(shù)據(jù)對(duì)應(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

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

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

針對(duì)設(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),選擇器,評(pí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的介紹想了解更多?

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

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

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


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

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


聲明:本文內(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)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2154

    瀏覽量

    36086

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    大理的AI野心藏不住了——風(fēng)花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會(huì)暨大理人工智能與應(yīng)用國際開發(fā)者大會(huì)在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?728次閱讀
    大理的AI野心藏不住了——風(fēng)花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測(cè)試過了,這個(gè)功能沒問題,可以上線了。 29別擔(dān)心,這個(gè)問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對(duì)程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點(diǎn)
    發(fā)表于 12-10 08:24

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動(dòng)圓滿收官

    1024程序員日”系列活動(dòng)至此劃上了一個(gè)圓滿句號(hào)。本屆1024程序員節(jié)以“AI構(gòu)建世界,智能引領(lǐng)未來”為主題,廣邀技術(shù)大咖、產(chǎn)業(yè)領(lǐng)袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?791次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動(dòng)圓滿收官

    鴻蒙開發(fā)如何顯示Markdown格式語法 -- markdown_hm介紹

    在開發(fā)過程中,對(duì)于內(nèi)容的展示通常有富文本和Markdown兩種,后者偏向于技術(shù)文檔、說明書一類的內(nèi)容展示。但是和富文本不同的是,沒有一個(gè)原生組件可以用來解析展示Markdown語法的內(nèi)容,所以
    發(fā)表于 06-30 18:47

    【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雙端的原生級(jí)運(yùn)行。本文以
    發(fā)表于 06-28 21:51

    【HarmonyOS next】ArkUI-X新聞熱搜聚合App【進(jìn)階】

    API,展示了多平臺(tái)榜單數(shù)據(jù)并支持網(wǎng)頁詳情查看。項(xiàng)目采用ArkUI框架開發(fā),現(xiàn)通過ArkUI-X實(shí)現(xiàn)iOS平臺(tái)的無縫遷移。 1.2 核心技術(shù)棧 HarmonyOS:原生開發(fā)平臺(tái) ArkUI
    發(fā)表于 06-28 21:43

    【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介紹

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

    UI開發(fā)概述

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

    ArkUI-X案例解析

    實(shí)現(xiàn)的,應(yīng)首先符合ArkUI-X框架的規(guī)格要求. 在應(yīng)用UI方面存在的差異,是無法借助Bridge能力來彌補(bǔ)的。在此建議使用ArkUI-X框架
    發(fā)表于 06-23 22:40

    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

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

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