在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深入淺出學(xué)習(xí)eTs(五)eTs語言初識

Harmony&嵌入式學(xué)習(xí) ? 來源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-05-13 13:19 ? 次閱讀

本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)

一、eTs介紹

概述

基于TS擴(kuò)展的聲明式開發(fā)范式的方舟開發(fā)框架是一套開發(fā)極簡、高性能、跨設(shè)備應(yīng)用的UI開發(fā)框架,支持開發(fā)者高效的構(gòu)建跨設(shè)備應(yīng)用UI界面。

基礎(chǔ)能力

使用基于TS擴(kuò)展的聲明式開發(fā)范式的方舟開發(fā)框架,采用更接近自然語義的編程方式,讓開發(fā)者可以直觀地描述UI界面,不必關(guān)心框架如何實(shí)現(xiàn)UI繪制和渲染,實(shí)現(xiàn)極簡高效開發(fā)。開發(fā)框架不僅從組件、動效和狀態(tài)管理三個維度來提供UI能力,還提供了系統(tǒng)能力接口,實(shí)現(xiàn)系統(tǒng)能力的極簡調(diào)用。

請參考基于TS擴(kuò)展的聲明式開發(fā)范式API文檔,全面地了解組件,更好地開發(fā)應(yīng)用。

開箱即用的組件

框架提供豐富的系統(tǒng)預(yù)置組件,可以通過鏈?zhǔn)秸{(diào)用的方式設(shè)置系統(tǒng)組件的渲染效果。開發(fā)者可以組合系統(tǒng)組件為自定義組件,通過這種方式將頁面組件化為一個個獨(dú)立的UI單元,實(shí)現(xiàn)頁面不同單元的獨(dú)立創(chuàng)建、開發(fā)和復(fù)用,使頁面具有更強(qiáng)的工程性。

豐富的動效接口

提供svg標(biāo)準(zhǔn)的繪制圖形能力,同時開放了豐富的動效接口,開發(fā)者可以通過封裝的物理模型或者調(diào)用動畫能力接口來實(shí)現(xiàn)自定義動畫軌跡。

狀態(tài)與數(shù)據(jù)管理

狀態(tài)數(shù)據(jù)管理作為基于TS擴(kuò)展的聲明式開發(fā)范式的特色,通過功能不同的裝飾器給開發(fā)者提供了清晰的頁面更新渲染流程和管道。狀態(tài)管理包括UI組件狀態(tài)和應(yīng)用程序狀態(tài),兩者協(xié)作可以使開發(fā)者完整地構(gòu)建整個應(yīng)用的數(shù)據(jù)更新和UI渲染。

系統(tǒng)能力接口

使用基于TS擴(kuò)展的聲明式開發(fā)范式的方舟開發(fā)框架,還封裝了豐富的系統(tǒng)能力接口,開發(fā)者可以通過簡單的接口調(diào)用,實(shí)現(xiàn)從UI設(shè)計到系統(tǒng)能力調(diào)用的極簡開發(fā)。

#深入淺出學(xué)習(xí)eTs#(五)eTs語言初識-開源基礎(chǔ)軟件社區(qū)

聲明式UI前端

提供了UI開發(fā)范式的基礎(chǔ)語言規(guī)范,并提供內(nèi)置的UI組件、布局和動畫,提供了多種狀態(tài)管理機(jī)制,為應(yīng)用開發(fā)者提供一系列接口支持。

語言運(yùn)行時

選用方舟語言運(yùn)行時,提供了針對UI范式語法的解析能力、跨語言調(diào)用支持的能力和TS語言高性能運(yùn)行環(huán)境。

聲明式UI后端引擎

后端引擎提供了兼容不同開發(fā)范式的UI渲染管線,提供多種基礎(chǔ)組件、布局計算、動效、交互事件,提供了狀態(tài)管理和繪制能力。

渲染引擎

提供了高效的繪制能力,將渲染管線收集的渲染指令,繪制到屏幕能力。

平臺適配層

提供了對系統(tǒng)平臺的抽象接口,具備接入不同系統(tǒng)的能力,如系統(tǒng)渲染管線、生命周期調(diào)度等。

二、基本框架

類型定義

長度類型

名稱 類型定義 描述
Length string | number 用于描述尺寸單位,輸入為number類型時,使用vp單位;輸入為string類型時,需要顯式指定像素單位,如’10px’,也可設(shè)置百分比字符串,如’100%'。

角度類型

名稱 類型定義 描述
Angle string | number 用于角度單位,輸入為number類型時,使用deg單位;輸入為string類型時需要顯示指定角度單位,支持以下兩種角度單位: - deg:如’100deg’。 - rad:如’3.14rad’。

點(diǎn)類型

名稱 類型定義 描述
Point [Length, Length] 用于描述點(diǎn)坐標(biāo),第一個值為x軸坐標(biāo),第二個值為y坐標(biāo)。

顏色類型

組件屬性方法使用的顏色Color說明如下:

名稱 類型定義 描述
Color string | number | Color 用于描述顏色信息,輸入為string類型時,使用rgb或者rgba進(jìn)行描述;輸入為number類型是,使用HEX格式顏色;輸入類型為Color枚舉時,使用顏色枚舉值。 - ‘rgb(255, 255, 255)’。 - ‘rgba(255, 255, 255, 1.0)’。 - HEX格式:0xrrggbb,0xaarrggbb,‘#FFFFFF’。 - 枚舉格式:Color.Black,Color.White等。

三、組件化分析

可參考:OpenAtom OpenHarmony

@Entry

用@Entry裝飾的自定義組件用作頁面的默認(rèn)入口組件,加載頁面時,將首先創(chuàng)建并呈現(xiàn)@Entry裝飾的自定義組件。

@Component

@Component裝飾的struct表示該結(jié)構(gòu)體具有組件化能力,能夠成為一個獨(dú)立的組件,這種類型的組件也稱為自定義組件,在build方法里描述UI結(jié)構(gòu)。自定義組件具有以下特點(diǎn):

  • 可組合:允許開發(fā)人員組合使用內(nèi)置組件、其他組件、公共屬性和方法;
  • 鏈?zhǔn)秸{(diào)用9+:通過鏈?zhǔn)秸{(diào)用通用屬性改變組件樣式;
  • 可重用:自定義組件可以被其他組件重用,并作為不同的實(shí)例在不同的父組件或容器中使用;
  • 生命周期:生命周期的回調(diào)方法可以在組件中配置,用于業(yè)務(wù)邏輯處理;
  • 數(shù)據(jù)驅(qū)動更新:由狀態(tài)變量的數(shù)據(jù)驅(qū)動,實(shí)現(xiàn)UI自動更新。

@Preview

用@Preview裝飾的自定義組件可以在DevEco Studio的預(yù)覽器上進(jìn)行預(yù)覽,加載頁面時,將創(chuàng)建并呈現(xiàn)@Preview裝飾的自定義組件。

@Builder

@Builder裝飾的方法用于定義組件的聲明式UI描述,在一個自定義組件內(nèi)快速生成多個布局內(nèi)容。@Builder裝飾方法的功能和語法規(guī)范與build函數(shù)相同。

@Extend

@Extend裝飾器將新的屬性函數(shù)添加到內(nèi)置組件上,如Text、Column、Button等。通過@Extend裝飾器可以快速定義并復(fù)用組件的自定義樣式。

@CustomDialog

@CustomDialog裝飾器用于裝飾自定義彈窗。

@Styles

@Styles裝飾器將新的屬性函數(shù)添加到基本組件上,如Text、Column、Button等。當(dāng)前@Styles僅支持通用屬性。通過@Styles裝飾器可以快速定義并復(fù)用組件的自定義樣式。

@Styles可以定義在組件內(nèi)或組件外,在組件外定義時需在方法前添加function關(guān)鍵字,組件內(nèi)定義時不需要添加function關(guān)鍵字。

四、組件化分析

開發(fā)的框架主要包括以上幾個部分,其中我們主要修改的部分在于@Builder函數(shù)中

#深入淺出學(xué)習(xí)eTs#(五)eTs語言初識-開源基礎(chǔ)軟件社區(qū)


即在上圖的這個部分,該程序是單實(shí)現(xiàn)了一個Hello Word的顯示

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ui
    ui
    +關(guān)注

    關(guān)注

    0

    文章

    205

    瀏覽量

    21603
  • ets
    ets
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    1717
  • OpenHarmony
    +關(guān)注

    關(guān)注

    26

    文章

    3795

    瀏覽量

    17657
收藏 人收藏

    評論

    相關(guān)推薦

    #深入淺出學(xué)習(xí)eTs#(八)“猜大小”小游戲

    本項目Gitee倉地址:[深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:08 ?1208次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(八)“猜大小”小游戲

    #深入淺出學(xué)習(xí)eTs#(九)變紅碼?專屬二維碼生成

    本項目Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:21 ?1651次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(九)變紅碼?專屬二維碼生成

    #深入淺出學(xué)習(xí)eTs#(十)藍(lán)藥丸還是紅藥丸

    本項目Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:07 ?1101次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(十)藍(lán)藥丸還是紅藥丸

    #深入淺出學(xué)習(xí)eTs#(一)模擬器/真機(jī)環(huán)境搭建

    本項目的Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com
    發(fā)表于 12-24 13:02

    #深入淺出學(xué)習(xí)eTs#(二)拖拽式UI

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 09:56

    #深入淺出學(xué)習(xí)eTs#(四)登陸界面UI

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:01

    #深入淺出學(xué)習(xí)eTs#(eTs語言初識

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:02

    #深入淺出學(xué)習(xí)eTs#(六)編寫eTs第一個控件

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:05

    #深入淺出學(xué)習(xí)eTs#(七)判斷密碼是否正確

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:06

    #深入淺出學(xué)習(xí)eTs#(十一)別忘了吃藥喔

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 13:33

    #深入淺出學(xué)習(xí)eTs#(十七)遠(yuǎn)端模擬器

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 13:56

    深入淺出學(xué)習(xí)250個通信原理資源下載

    深入淺出學(xué)習(xí)250個通信原理資源下載
    發(fā)表于 04-12 09:16 ?28次下載

    深入淺出學(xué)習(xí)eTs(一)模擬器/真機(jī)環(huán)境搭建

    本項目的Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com
    的頭像 發(fā)表于 05-13 13:17 ?1991次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>(一)模擬器/真機(jī)環(huán)境搭建

    深入淺出學(xué)習(xí)eTs(七)如何判斷密碼是否正確

    本項目Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:20 ?1062次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>(七)如何判斷密碼是否正確

    深入淺出學(xué)習(xí)eTs之九宮格密碼鎖功能實(shí)現(xiàn)

    本項目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:25 ?1835次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>之九宮格密碼鎖功能實(shí)現(xiàn)
    主站蜘蛛池模板: 性free中国美女hd | 欧美a一级 | 乱人伦xxxx国语对白 | 天天夜夜狠狠 | 色爱区综合五月激情 | 四虎永久在线视频 | 天天天综合网 | 在线亚洲成人 | 女性一级全黄生活片在线播放 | 国产激烈床戏无遮挡在线观看 | 色噜噜人体337p人体 | 很很鲁在线视频播放影院 | 日韩欧美伦理 | 网站国产 | 免费福利午夜影视网 | 成人在线色视频 | 午夜欧美成人久久久久久 | 亚洲综合春色另类久久 | 中文网丁香综合网 | 波多野结衣久久国产精品 | 欧美日韩高清一本大道免费 | 欧美成人一区二区三区在线电影 | 人人人人澡 | 亚洲精品久久久久午夜福 | 国产三级久久久精品三级 | 天天摸天天躁天天添天天爽 | 亚洲一区二区免费在线观看 | 182tv免费视视频线路一二三 | aaa成人| 久国产精品久久精品国产四虎 | 在线观看免费av网 | 可以免费看黄色的网站 | 最近最新中文字幕6页 | 久久国产免费观看精品1 | 日韩高清性爽一级毛片免费 | 色综合一区 | 99色在线观看 | 香蕉视频色版在线观看 | 六月婷婷导航福利在线 | 辣h高h肉h激h超h | 亚洲电影av|