ArkUI框架,更懂程式設計師的UI資訊語法
ArkUI框架簡化程式碼的“秘密”
在傳統的開發過程中,總有個問題在困擾我:如何實現前端view與後端資料的同步更改?例如:在某個影片類app的頁面,如果我想要實現影片的點選播放功能,需要怎麼樣進行呢?
如果我使用傳統的命令式開發框架去實現,容易造成的麻煩在於,每次後端的資料發生更改,我都需要手動更新前端view。
為了解決這個問題,我便在ArkUI上實現了同樣的功能,神奇的事情發生了,瞬間程式碼乾淨了很多,只用幾行程式碼就實現了相同的功能。
於是我搜尋了一下ArkUI有什麼優勢。發現很重要的一個原因:ArkUI使用了宣告式UI開發框架,同時在UI描述上運用了可以和語言執行時深度結合的自研語言ArkTS。
宣告式框架的“廬山真面目”
這裡肯定會有小夥伴提出疑問:什麼是宣告式開發框架?在介紹之前,我們先了解一下傳統的命令式開發框架思路,作為一個程式設計師,一旦我想要更改View,就需要先更改View對應的Data,然後再更改View的顯示內容。
而宣告式開發框架則不同,ArkUI的宣告式框架框架更為高效,可以讓data與前端view同步更新資料。
那ArkUI框架是如何實現同步更新的呢?這個原理非常簡單,想象一下我現在要蓋一棟大樓,我需要把專案先交給包工頭,包工頭再把具體的工作分配給工人,工人依據圖紙建造大樓,當圖紙變動的時候,工人也需要按照圖紙更改建造動作。
與此相對的,在ArkUI命令式框架內部,有兩個重要的角色,代理和攔截器。
代理可以將目標資料進行代理,併為目標資料繫結到攔截器上。而攔截器會監聽目標資料的變化,當資料更新時,攔截器就會重寫資料的set方法,同時自動更新資料對應的前端頁面,整個過程不需要程式設計師進行手動命令更新。
原子佈局能力實現頁面佈局一致性
宣告式開發框架成功解決了傳統開發過程中,程式碼冗長的問題。但是在瞭解宣告式開發框架的過程中,我不經想到一個問題:有沒有方法,讓我開發一次程式碼,就可以在多個裝置上適配呢?
ArkUI就提供了這一功能,於是我動手試了一下。當裝置尺寸變寬時,我可以透過原子佈局的均分能力去實現頁面佈局的一致性,也可以透過柵格佈局,去解決多尺寸多裝置的動態佈局問題。
剛剛提到的原子佈局能力包含均分能力,折行能力,拉伸能力,縮放能力,延伸能力,佔比能力和隱藏能力。可以幫助我們在不同裝置上保持體驗的一致性。這樣自適應的問題解決了。
針對裝置獨有的特性,比如平板適配左側導航欄,這個有什麼方法實現呢?這裡我找到了媒體查詢,它可以判斷裝置型別,設計出相匹配的佈局樣式,同時還可以監聽螢幕尺寸動態變化,比如橫豎屏切換可以透過orientation屬性判斷螢幕橫豎狀態來動態適配,另外還支援判斷分屏狀態、摺疊屏展開狀態等,這樣就解決了我一次開發多端部署的難題。
同時,ArkUI框架為開發者提供了多型元件,同一控制元件在不同的裝置上會呈現出不同的形態,所以開發者在使用多型元件時,無需考慮裝置差異,只需關注功能實現即可。
常用元件
在這裡我們總結了一下常用元件:
常見的容器類元件有列表,彈出框。
展示類元件有文字,進度條,事件標記和氣泡指示。
導航類元件有Tab頁籤。
操作類元件有按鈕,下拉選項,選擇器,評分條,搜尋框和選單。
這樣一來,我只需要選擇合適的元件進行開發,就可以一次開發,多端部署。大大節省我的開發時間。
總結
根據前文不難看出,ArkUI是一套用於構建HarmonyOS應用介面的UI開發框架。
我們總結一下它主要有以下三個特性:
1. 極簡的UI資訊語法
2. 支援多裝置開發,一次開發多端部署
3. 開箱即用的多型UI元件
從而幫助開發者提升HarmonyOS應用介面的開發效率。
關於ArkUI的介紹今天就到這裡了,需想了解更多?
感興趣的夥伴們可以點選連結 進行學習。
如果你喜歡這期的影片,歡迎在下方留言點贊分享,你的支援就是我們更新的最大動力,我們下期再見~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009402/viewspace-2928020/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ArkUI,更高效的框架設計UI框架
- 鴻蒙程式設計江湖:ArkUI 的宣告式 UI 程式設計與狀態管理鴻蒙程式設計UI
- ui設計師要懂哪些B端設計原則?UI
- UI設計師要不要真的懂技術?UI
- VNote:一個更懂程式設計師和 Markdown 的筆記軟體程式設計師筆記
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- Java 程式設計師都該懂的 HashMapJava程式設計師HashMap
- 好程式設計師Java教程分享Java語法程式設計師Java
- 袋鼠雲數棧UI5.0煥新升級,全新設計語言DT Design,更懂視覺更懂你!UI視覺
- “有能力”的程式設計師和“熟練”的程式設計師誰更牛?程式設計師
- 程式設計師都該懂點 HTTP程式設計師HTTP
- 如何混跡程式猿江湖,你得懂程式設計師黑話暗語!程式設計師
- 程式設計師為什麼焦慮於程式語言和框架?程式設計師框架
- UI設計培訓分享:UI設計師的設計思路UI
- 找工作的程式設計師必懂的Linux程式設計師Linux
- 合理使用CSS框架,加速UI設計程式CSS框架UI
- 程式設計師的生存法則程式設計師
- 程式設計師眼中的程式語言程式設計師
- 程式設計師英語程式設計師
- 程式設計師該懂一點兒KPI程式設計師KPI
- 程式設計師背後的心酸日常,你懂多少?程式設計師
- (新)只有程式設計師才看得懂的段子程式設計師
- 餘晟:做個懂產品的程式設計師程式設計師
- 從程式設計師到專案經理(6):程式設計師加油站 -- 懂電腦更要懂人腦程式設計師
- 從程式設計師到專案經理(6)程式設計師加油站 - 懂電腦更要懂人腦程式設計師
- 如何快速體驗鴻蒙全新宣告式UI框架ArkUI?鴻蒙UI框架
- 程式設計師 錯錯更優秀!程式設計師
- 程式設計師的4條說法程式設計師
- (轉)程式設計師的生存法則程式設計師
- 程式設計師節只有程式設計師才能看懂的祝福語程式設計師
- 器材攝影師與框架程式設計師框架程式設計師
- 40個只有程式設計師才看得懂的段子程式設計師
- 程式設計師才能看得懂的笑話:Wat程式設計師
- 程式語言BASIC程式設計師的啟蒙語言C程式程式設計師
- 普通UI設計師與頂級UI設計師的區別是什麼?UI
- 普通 UI 設計師與頂級 UI 設計師的區別是什麼?UI
- 如何自學UI設計?如何成為UI設計師?UI
- 程式設計師 你可以更優秀些程式設計師