方舟開發(fā)框架(ArkUI)概述

2024-01-25 13:09 更新

方舟開發(fā)框架(簡稱ArkUI)為HarmonyOS應(yīng)用的UI開發(fā)提供了完整的基礎(chǔ)設(shè)施,包括簡潔的UI語法、豐富的UI功能(組件、布局、動畫以及交互事件),以及實(shí)時界面預(yù)覽工具等,可以支持開發(fā)者進(jìn)行可視化界面開發(fā)。

基本概念

  • UI:即用戶界面。開發(fā)者可以將應(yīng)用的用戶界面設(shè)計為多個功能頁面,每個頁面進(jìn)行單獨(dú)的文件管理,并通過頁面路由API完成頁面間的調(diào)度管理如跳轉(zhuǎn)、回退等操作,以實(shí)現(xiàn)應(yīng)用內(nèi)的功能解耦。
  • 組件:UI構(gòu)建與顯示的最小單位,如列表、網(wǎng)格、按鈕、單選框、進(jìn)度條、文本等。開發(fā)者通過多種組件的組合,構(gòu)建出滿足自身應(yīng)用訴求的完整界面。

兩種開發(fā)范式

針對不同的應(yīng)用場景及技術(shù)背景,方舟開發(fā)框架提供了兩種開發(fā)范式,分別是基于ArkTS的聲明式開發(fā)范式(簡稱“聲明式開發(fā)范式”)和兼容JS的類Web開發(fā)范式(簡稱“類Web開發(fā)范式”)。

  • 聲明式開發(fā)范式:采用基于TypeScript聲明式UI語法擴(kuò)展而來的ArkTS語言,從組件、動畫和狀態(tài)管理三個維度提供UI繪制能力。
  • 類Web開發(fā)范式:采用經(jīng)典的HML、CSS、JavaScript三段式開發(fā)方式,即使用HML標(biāo)簽文件搭建布局、使用CSS文件描述樣式、使用JavaScript文件處理邏輯。該范式更符合于Web前端開發(fā)者的使用習(xí)慣,便于快速將已有的Web應(yīng)用改造成方舟開發(fā)框架應(yīng)用。

在開發(fā)一款新應(yīng)用時,推薦采用聲明式開發(fā)范式來構(gòu)建UI,主要基于以下幾點(diǎn)考慮:

  • 開發(fā)效率:聲明式開發(fā)范式更接近自然語義的編程方式,開發(fā)者可以直觀地描述UI,無需關(guān)心如何實(shí)現(xiàn)UI繪制和渲染,開發(fā)高效簡潔。
  • 應(yīng)用性能:如下圖所示,兩種開發(fā)范式的UI后端引擎和語言運(yùn)行時是共用的,但是相比類Web開發(fā)范式,聲明式開發(fā)范式無需JS框架進(jìn)行頁面DOM管理,渲染更新鏈路更為精簡,占用內(nèi)存更少,應(yīng)用性能更佳。
  • 發(fā)展趨勢:聲明式開發(fā)范式后續(xù)會作為主推的開發(fā)范式持續(xù)演進(jìn),為開發(fā)者提供更豐富、更強(qiáng)大的能力。
圖1 方舟開發(fā)框架示意圖

不同應(yīng)用類型支持的開發(fā)范式

根據(jù)所選用HarmonyOS應(yīng)用模型(Stage模型、FA模型)和頁面形態(tài)(應(yīng)用或服務(wù)的普通頁面、卡片)的不同,對應(yīng)支持的UI開發(fā)范式也有所差異,詳見下表。

表1 支持的UI開發(fā)范式

應(yīng)用模型

頁面形態(tài)

支持的UI開發(fā)范式

Stage模型(推薦)

應(yīng)用或服務(wù)的頁面

聲明式開發(fā)范式(推薦)

 

卡片

聲明式開發(fā)范式(推薦)

類Web開發(fā)范式

FA模型

應(yīng)用或服務(wù)的頁面

聲明式開發(fā)范式

類Web開發(fā)范式

 

卡片

類Web開發(fā)范式

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號