ArkTS简介

一、什么是ArkTS?

ArkTS是HarmonyOS生态的应用开发语言。

  • ArkTS提供了声明式UI范式状态管理支持等相应的能力,让开发者可以更简洁、更自然的方式开发应用。
  • ArkTS在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范化静态检查和分析 ,🙆🏻‍使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并且实现更好的运行性能。
  • 针对JS/TS并发能力支持有限的问题,ArkTS对并发编程API和能力进行了增强。
  • ArkTS支持与JS/TS高效互操作,兼容TS/JS生态。

二、ArkTS 在 TypeScript基础上增强

  • 1.通过规范约束不合适的特性

ArkTS规范约束TS中过于灵活而影响开发正 确性或者给运行时带来不必要额外开销的特 性,由此可在静态分析阶段获取更确定和稳 定的信息,提升代码健壮性和性能。

  • 2.保留公共子集

保留好的特性,语义与标准TS一致。例如:严格模式、空值安全等。

  • 3.增加新特性

结合应用的开发体验和执行效率需 求,ArkTS增加更多功能。例如:并发增强、UI范式所依赖特性等

  • 4.约束特性示例

delete操作符 在运行时动态创建新属性

三、ArkTS相对TS的约束示例:

1、强化静态类型检查:ArkTS要求所有类型在程序实际运行前都是已知的,减少运行时的类型检测,提升性能。

less 复制代码
// Typescript 代码
const area = ( //在ArkTS中,此处会报错
pixels: new ArrayBuffer(8)^
offset: 0,
stride: 8,
region: { size: { height: 1, width::
}, x: y: 。 }
)

编译器不知道变量area的类型,也无法很好优化
import ( image } from '@kit.ImageKit';
const area: image.PositionArea = (
pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: ( size: { height: 1, width:2 },
x: 0, y: 。 }
}

四、ArkTS基于TypeScript的拓展

  • ArkTS的对UI的拓展

1.UI描述: UI描述语法提供了各种装饰器、自定义组件和UI 描述机制,再配合UI开发框架中的UI内置组件、 事件方法、属性方法等共同构成了应用开发的主 体。

2.状态管理 联态靠语法实现UI相关联的数据在组件内、组 件间、页面间、应用内以及跨设备传递。

相关推荐
鸿蒙开发1 天前
鸿蒙(HarmonyOS NEXT)表单校验别再手撸正则了 —— 我写了个 ArkTS 版 zod
harmonyos
TrisighT1 天前
ArkTS 的 @BuilderParam 你八成只用了皮毛——那个尾随闭包写法差点被我当 bug 删了
harmonyos·arkts·arkui
ONEDAY2 天前
HarmonyOS 多 Product 构建实践:一套代码生成多个产物
harmonyos
TT_Close2 天前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
TrisighT2 天前
ArkTS 列表滚动时为什么会闪现旧数据?我扒了 LazyForEach 的复用逻辑
harmonyos·arkts·arkui
MonkeyKing2 天前
鸿蒙ArkTS深度剖析:ArkTS与TS/JS核心差异、静态强类型实战优势
typescript·harmonyos
TrisighT2 天前
Electron鸿蒙PC上写日志文件,我被权限和路径坑了两次
electron·harmonyos
TrisighT3 天前
一个下午搞定 ArkTS 折叠面板?结果我从两点写到晚上九点
harmonyos·arkts·arkui
花椒技术6 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播
一维Ace6 天前
HarmonyOS ArkTS 按钮组件全解:Button、Toggle 状态交互实战
harmonyos