ArkTS

ArkTS

ArkTS是HarmonyOS套用開發語言。它在保持TypeScript(簡稱TS)基本語法風格的基礎上,對TS的動態類型特性施加更嚴格的約束,引入靜態類型。同時,提供了聲明式UI、狀態管理等相應的能力,讓開發者可以以更簡潔、更自然的方式開發高性能套用。

基本介紹

  • 軟體名稱:ArkTS
  • 軟體平台:HarmonyOS
  • 軟體語言:ArkTS
  • 開發商:HUAWEI 
產生背景,主要功能,語言特點,基本語法,聲明式UI,狀態管理,渲染控制,

產生背景

面向萬物互聯時代,華為提出一次開發多端部署、可分可合自由流轉、統一生態原生智慧型三大套用與服務開發理念,針對多設備、多入口、服務可分可合等特性,提供多種能力協助開發者降低開發門檻,同時HarmonyOS與OpenHarmony統一生態。HarmonyOS基於JS/TS語言體系,構建了全新的聲明式開發語言ArkTS。除了兼容JS/TS語言生態,ArkTS擴展了聲明式UI語法和輕量化並發機制。

主要功能

ArkTS是HarmonyOS主力套用開發語言。為便於熟悉Web前端的開發者快速上手,HarmonyOS在UI開發框架中,還提供了“兼容JS的類Web開發範式”。它通過模板、樣式、邏輯三段式來構建相應的套用UI界面,並結合相應的運行時實現了最佳化的運行體驗。

語言特點

基本語法

裝飾器: 用於裝飾類、結構、方法以及變數,並賦予其特殊的含義。如上述示例中@Entry、@Component和@State都是裝飾器,@Component表示自定義組件,@Entry表示該自定義組件為入口組件,@State表示組件中的狀態變數,狀態變數變化會觸發UI刷新。
UI描述:以聲明式的方式來描述UI的結構,例如build方法中的代碼塊。
自定義組件:可復用的UI單元,可組合其他組件,如上述被@Component裝飾的struct Hello。
系統組件:ArkUI框架中默認內置的基礎和容器組件,可直接被開發者調用,比如示例中的Column、Text、Divider、Button。
屬性方法:組件可以通過鏈式調用配置多項屬性,如fontSize、width、height、backgroundColor等。
事件方法:組件可以通過鏈式調用設定多個事件的回響邏輯,如跟隨在Button後面的onClick。

聲明式UI

創建組件
配置屬性
配置事件
配置子組件

狀態管理

狀態變數:被狀態裝飾器裝飾的變數,改變會引起UI的渲染更新。
常規變數:沒有狀態的變數,通常套用於輔助計算。它的改變永遠不會引起UI的刷新。
數據源/同步源:狀態變數的原始來源,可以同步給不同的狀態數據。通常意義為父組件傳給子組件的數據。
命名參數機制:父組件通過指定參數傳遞給子組件的狀態變數,為父子傳遞同步參數的主要手段。示例:CompA: ({ aProp: this.aProp })。
從父組件初始化:父組件使用命名參數機制,將指定參數傳遞給子組件。本地初始化的默認值在有父組件傳值的情況下,會被覆蓋。
初始化子節點:組件中狀態變數可以傳遞給子組件,初始化子組件對應的狀態變數。示例同上。
本地初始化:變數聲明的時候賦值,作為初始化的默認值。示例:@State count: number = 0。

渲染控制

ArkUI通過自定義組件的build函式和@builder裝飾器中的聲明式UI描述語句構建相應的UI。在聲明式描述語句中開發者除了使用系統組件外,還可以使用渲染控制語句來輔助UI的構建,這些渲染控制語句包括控制組件是否顯示的條件渲染語句,基於數組數據快速生成組件的循環渲染語句以及針對大數據量場景的數據懶載入語句。

相關詞條

熱門詞條

聯絡我們