ArkTS聲明式開發(fā)范式
-
ArkTS
ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語(yǔ)言芍阎,圍繞應(yīng)用開發(fā)在TypeScript(簡(jiǎn)稱TS)生態(tài)基礎(chǔ)上做了進(jìn)一步擴(kuò)展世曾。擴(kuò)展能力包含聲明式UI描述、自定義組件谴咸、動(dòng)態(tài)擴(kuò)展UI元素轮听、狀態(tài)管理和渲染控制。狀態(tài)管理作為基于ArkTS的聲明式開發(fā)范式的特色岭佳,通過功能不同的裝飾器給開發(fā)者提供了清晰的頁(yè)面更新渲染流程和管道血巍。狀態(tài)管理包括UI組件狀態(tài)和應(yīng)用程序狀態(tài),兩者協(xié)作可以使開發(fā)者完整地構(gòu)建整個(gè)應(yīng)用的數(shù)據(jù)更新和UI渲染珊随。ArkTS語(yǔ)言的基礎(chǔ)知識(shí)請(qǐng)參考學(xué)習(xí)ArkTS語(yǔ)言述寡。
-
布局
布局是UI的必要元素,它定義了組件在界面中的位置玫恳。ArkUI框架提供了多種布局方式辨赐,除了基礎(chǔ)的線性布局、層疊布局京办、彈性布局掀序、相對(duì)布局、柵格布局外惭婿,也提供了相對(duì)復(fù)雜的列表不恭、宮格、輪播财饥。
-
組件
組件是UI的必要元素换吧,形成了在界面中的樣子,由框架直接提供的稱為系統(tǒng)組件钥星,由開發(fā)者定義的稱為自定義組件沾瓦。系統(tǒng)內(nèi)置組件包括按鈕、單選框谦炒、進(jìn)度條贯莺、文本等。開發(fā)者可以通過鏈?zhǔn)秸{(diào)用的方式設(shè)置系統(tǒng)內(nèi)置組件的渲染效果宁改。開發(fā)者可以將系統(tǒng)內(nèi)置組件組合為自定義組件缕探,通過這種方式將頁(yè)面組件化為一個(gè)個(gè)獨(dú)立的UI單元,實(shí)現(xiàn)頁(yè)面不同單元的獨(dú)立創(chuàng)建还蹲、開發(fā)和復(fù)用爹耗,具有更強(qiáng)的工程性耙考。
-
頁(yè)面路由和組件導(dǎo)航
應(yīng)用可能包含多個(gè)頁(yè)面,可通過頁(yè)面路由實(shí)現(xiàn)頁(yè)面間的跳轉(zhuǎn)潭兽。一個(gè)頁(yè)面內(nèi)可能存在組件間的導(dǎo)航如典型的分欄倦始,可通過導(dǎo)航組件實(shí)現(xiàn)組件間的導(dǎo)航。
-
圖形
方舟開發(fā)框架提供了多種類型圖片的顯示能力和多種自定義繪制的能力讼溺,以滿足開發(fā)者的自定義繪圖需求楣号,支持繪制形狀、填充顏色怒坯、繪制文本炫狱、變形與裁剪、嵌入圖片等剔猿。
-
動(dòng)畫
動(dòng)畫是UI的重要元素之一视译。優(yōu)秀的動(dòng)畫設(shè)計(jì)能夠極大地提升用戶體驗(yàn),框架提供了豐富的動(dòng)畫能力归敬,除了組件內(nèi)置動(dòng)畫效果外酷含,還包括屬性動(dòng)畫、顯式動(dòng)畫汪茧、自定義轉(zhuǎn)場(chǎng)動(dòng)畫以及動(dòng)畫API等椅亚,開發(fā)者可以通過封裝的物理模型或者調(diào)用動(dòng)畫能力API來實(shí)現(xiàn)自定義動(dòng)畫軌跡。
-
交互事件
交互事件是UI和用戶交互的必要元素舱污。方舟開發(fā)框架提供了多種交互事件呀舔,除了觸摸事件、鼠標(biāo)事件扩灯、鍵盤按鍵事件媚赖、焦點(diǎn)事件等通用事件外,還包括基于通用事件進(jìn)行進(jìn)一步識(shí)別的手勢(shì)事件珠插。手勢(shì)事件有單一手勢(shì)如點(diǎn)擊手勢(shì)惧磺、長(zhǎng)按手勢(shì)、拖動(dòng)手勢(shì)捻撑、捏合手勢(shì)磨隘、旋轉(zhuǎn)手勢(shì)、滑動(dòng)手勢(shì)顾患,以及通過單一手勢(shì)事件進(jìn)行組合的組合手勢(shì)事件琳拭。
布局元素的組成
線性布局
層疊布局
彈性布局
相對(duì)布局
柵格布局