ArkTS是目前鸿蒙原生应用开发的主力语言。ArkTS语言在TypeScript语言的基础上扩展了一些功能(尤其是在UI开发方面),但也增加了一些禁止和限制规则。
TypeScript是JavaScript的一个超集,它在JavaScript的基础上添加了静态类型系统并引入了一些其他特性。JavaScript是一种高级的解释型动态语言,最初用于浏览器,现在还广泛用于服务器端编程(主要通过Node.js)。TypeScript可以看作对JavaScript的一个增强。
ArkTS、TypeScript和JavaScript之间的关系如图1-1所示。所有JavaScript代码都是有效的TypeScript代码,反之则不然。TypeScript和ArkTS有交集,但由于ArkTS的限制和扩展,它们不是完全的包含关系,这个交集包括符合ArkTS规则的TypeScript代码。JavaScript和ArkTS也有交集,但同样不是完全的包含关系,这个交集包括符合ArkTS规则的JavaScript代码。
图1-1 ArkTS、TypeScript和JavaScript的关系
ArkTS语言的主要特性如下。
■ 静态类型的强制使用: ArkTS采用静态类型,确保了程序中变量的类型在编译期间就已确定。这一设计不仅能够在编译时验证代码的正确性,减少运行时的类型检查需求,还能提高程序的执行效率。这是ArkTS最为关键的特性之一。
■ 禁止在运行时改变对象布局: 为了追求最高性能,ArkTS不允许在运行时改变对象的布局。这一举措有助于优化性能表现。
■ 对操作符语义的限制: 为了获得更高效的性能表现以及鼓励开发者编写更为清晰、易于阅读的代码,ArkTS对某些操作符的语义做出了限制。
■ 对UI开发框架能力的扩展: ArkTS定义了声明式UI描述和自定义组件,具有动态扩展UI元素的功能,提供了多维度的状态管理机制和渲染控制功能。