7、鴻蒙/什么是ArkTS

  • 什么是ArkTS:
    ArkTS是HarmonyOS優(yōu)選的主力應(yīng)用開發(fā)語言乓土。ArkTS圍繞應(yīng)用開發(fā)在TypeScript(簡(jiǎn)稱TS)生態(tài)基礎(chǔ)上做了進(jìn)一步擴(kuò)展,保持了TS的基本風(fēng)格,同時(shí)通過規(guī)范定義強(qiáng)化開發(fā)期靜態(tài)檢查和分析戳表,提升程序執(zhí)行穩(wěn)定性和性能。

  • ArkTs和TS關(guān)系:
    ArkTS通過規(guī)范約束了TypeScript(簡(jiǎn)稱TS)中過于靈活而影響開發(fā)正確性或者給運(yùn)行時(shí)帶來不必要額外開銷的特性昼伴。


    關(guān)系圖.png

從API version 10開始匾旭,ArkTS進(jìn)一步通過規(guī)范強(qiáng)化靜態(tài)檢查和分析,對(duì)比標(biāo)準(zhǔn)TS的差異可以參考從TypeScript到ArkTS的適配規(guī)則

  • 強(qiáng)制使用靜態(tài)類型:靜態(tài)類型是ArkTS最重要的特性之一圃郊。如果使用靜態(tài)類型价涝,那么程序中變量的類型就是確定的。同時(shí)持舆,由于所有類型在程序?qū)嶋H運(yùn)行前都是已知的色瘩,編譯器可以驗(yàn)證代碼的正確性,從而減少運(yùn)行時(shí)的類型檢查逸寓,有助于性能提升居兆。

  • 禁止在運(yùn)行時(shí)改變對(duì)象布局:為實(shí)現(xiàn)最大性能,ArkTS要求在程序執(zhí)行期間不能更改對(duì)象布局竹伸。

  • 限制運(yùn)算符語義:為獲得更好的性能并鼓勵(lì)開發(fā)者編寫更清晰的代碼泥栖,ArkTS限制了一些運(yùn)算符的語義。比如佩伤,一元加法運(yùn)算符只能作用于數(shù)字聊倔,不能用于其他類型的變量。

  • 不支持Structural typing:對(duì)Structural typing的支持需要在語言生巡、編譯器和運(yùn)行時(shí)進(jìn)行大量的考慮和仔細(xì)的實(shí)現(xiàn)耙蔑,當(dāng)前ArkTS不支持該特性。根據(jù)實(shí)際場(chǎng)景的需求和反饋孤荣,我們后續(xù)會(huì)重新考慮甸陌。

當(dāng)前须揣,在UI開發(fā)框架中,ArkTS主要擴(kuò)展了如下能力:

  • 基本語法:ArkTS定義了聲明式UI描述钱豁、自定義組件和動(dòng)態(tài)擴(kuò)展UI元素的能力耻卡,再配合ArkUI開發(fā)框架中的系統(tǒng)組件及其相關(guān)的事件方法、屬性方法等共同構(gòu)成了UI開發(fā)的主體牲尺。

  • 狀態(tài)管理:ArkTS提供了多維度的狀態(tài)管理機(jī)制卵酪。在UI開發(fā)框架中,與UI相關(guān)聯(lián)的數(shù)據(jù)可以在組件內(nèi)使用谤碳,也可以在不同組件層級(jí)間傳遞溃卡,比如父子組件之間、爺孫組件之間蜒简,還可以在應(yīng)用全局范圍內(nèi)傳遞或跨設(shè)備傳遞瘸羡。另外,從數(shù)據(jù)的傳遞形式來看搓茬,可分為只讀的單向傳遞和可變更的雙向傳遞犹赖。開發(fā)者可以靈活地利用這些能力來實(shí)現(xiàn)數(shù)據(jù)和UI的聯(lián)動(dòng)。

  • 渲染控制:ArkTS提供了渲染控制的能力卷仑。條件渲染可根據(jù)應(yīng)用的不同狀態(tài)峻村,渲染對(duì)應(yīng)狀態(tài)下的UI內(nèi)容。循環(huán)渲染可從數(shù)據(jù)源中迭代獲取數(shù)據(jù)系枪,并在每次迭代過程中創(chuàng)建相應(yīng)的組件雀哨。數(shù)據(jù)懶加載從數(shù)據(jù)源中按需迭代數(shù)據(jù),并在每次迭代過程中創(chuàng)建相應(yīng)的組件私爷。

ArkTS兼容TS/JavaScript(簡(jiǎn)稱JS)生態(tài),開發(fā)者可以使用TS/JS進(jìn)行開發(fā)或復(fù)用已有代碼膊夹。HarmonyOS系統(tǒng)對(duì)TS/JS支持的詳細(xì)情況參見兼容TS/JS的約束衬浑。

未來,ArkTS會(huì)結(jié)合應(yīng)用開發(fā)/運(yùn)行的需求持續(xù)演進(jìn)放刨,逐步提供并行和并發(fā)能力增強(qiáng)工秩、系統(tǒng)類型增強(qiáng)、分布式開發(fā)范式等更多特性进统。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載助币,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末螟碎,一起剝皮案震驚了整個(gè)濱河市眉菱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掉分,老刑警劉巖俭缓,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件克伊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡华坦,警方通過查閱死者的電腦和手機(jī)愿吹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惜姐,“玉大人犁跪,你說我怎么就攤上這事〈踉” “怎么了坷衍?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)宇攻。 經(jīng)常有香客問我惫叛,道長(zhǎng),這世上最難降的妖魔是什么逞刷? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任嘉涌,我火速辦了婚禮,結(jié)果婚禮上夸浅,老公的妹妹穿的比我還像新娘仑最。我一直安慰自己,他們只是感情好帆喇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布警医。 她就那樣靜靜地躺著,像睡著了一般坯钦。 火紅的嫁衣襯著肌膚如雪预皇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天婉刀,我揣著相機(jī)與錄音吟温,去河邊找鬼。 笑死突颊,一個(gè)胖子當(dāng)著我的面吹牛鲁豪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播律秃,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼爬橡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了棒动?” 一聲冷哼從身側(cè)響起糙申,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎迁客,沒想到半個(gè)月后郭宝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辞槐,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年粘室,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了榄檬。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡衔统,死狀恐怖鹿榜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锦爵,我是刑警寧澤舱殿,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站险掀,受9級(jí)特大地震影響沪袭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜樟氢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一冈绊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧埠啃,春花似錦死宣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至潦牛,卻和暖如春眶掌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背巴碗。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工畏线, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人良价。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蒿叠,于是被迫代替她去往敵國(guó)和親明垢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容