程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java相关开发、鸿蒙开发、人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前!


1.ArkTS

1.1 ArkTS语言

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。

同时,提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。

Harmony OS开发-ArkT语言速成一_UI

1.2 ArkTS语言特点

1.TypeScript基础:

ArkTS基于TypeScript,因此它继承了TypeScript的所有优点,如静态类型检查、类型推断、模块化等。

2.声明式语法:

ArkTS采用声明式语法,使得代码更加简洁、易于理解。这有助于提高开发效率,降低维护成本。

3.组件化架构:

ArkTS鼓励开发者采用组件化的思想进行开发,将复杂的应用程序分解为可复用的组件,便于管理和维护。

4.响应式编程:

ArkTS支持响应式编程,使得开发者可以更容易地处理异步事件和数据流,提高应用程序的性能和用户体验。

5.跨平台开发:

ArkTS支持跨平台开发,可以用于构建Web、移动端和桌面端应用程序。

6.丰富的生态:

ArkTS拥有丰富的第三方库和工具,开发者可以方便地使用这些资源来加速项目开发。

7.高效的性能:

ArkTS通过优化编译过程和运行时性能,为开发者提供高效的应用程序性能。

8.易于学习:

对于已经掌握TypeScript或JavaScript的开发者来说,学习ArkTS相对容易,因为它们之间有很多相似之处。

9.社区支持:

虽然ArkTS相对较新,但得益于TypeScript社区的强大支持,开发者可以快速获得帮助和解决问题。

10.持续更新:

ArkTS的团队致力于不断优化和更新语言特性,以满足开发者的需求。

2.ArkTS静态检查和分析

从API version 10开始,ArkTS进一步通过规范强化静态检查和分析

1.强制使用静态类型

静态类型是ArkTS最重要的特性之一。如果使用静态类型,那么程序中变量的类型就是确定的。

同时,由于所有类型在程序实际运行前都是已知的,编译器可以验证代码的正确性,从而减少运行时的类型检查,有助于性能提升。

2.禁止在运行时改变对象布局

为实现最大性能,ArkTS要求在程序执行期间不能更改对象布局。

3.限制运算符语义

为获得更好的性能并鼓励开发者编写更清晰的代码,ArkTS限制了一些运算符的语义。比如,一元加法运算符只能作用于数字,不能用于其他类型的变量。

4.不支持Structural typing

对Structural typing的支持需要在语言、编译器和运行时进行大量的考虑和仔细的实现,当前ArkTS不支持该特性。根据实际场景的需求和反馈,我们后续会重新考虑。

3.ArkTS扩展的功能

在UI开发框架中,ArkTS主要扩展了如下能力:

1.基本语法:

ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。

2.状态管理:

ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨设备传递。

另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活地利用这些能力来实现数据和UI的联动。

3.渲染控制:

ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。

循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。

Harmony OS开发-ArkT语言速成一_开发者_02

4.ArkTS的编程规范

ArkTS在保持TypeScript基本语法风格的基础上,进一步强化静态检查和分析,为ArkTS语言新增的语法添加了规则,旨在提高代码可读性、执行性能。

为标识符取一个好名字,提高代码可读性

好的标识符命名,应遵循以下基本原则:

1.能清晰的表达意图,避免使用单个字母、未成惯例的缩写来命名。

2.使用正确的英文单词并符合英文语法,不要使用中文拼音。

3.能区分出意思,避免造成误导

类名、枚举名、命名空间名采用UpperCamelCase风格

1.类采用首字母大写的驼峰命名法。

2.类名通常是名词或名词短语,例如Person、Student、Worker。

3.不应使用动词,也应该避免类似Data、Info这样的模糊词。

变量名、方法名、参数名采用lowerCamelCase风格

函数的命名通常是动词或动词短语,采用小驼峰命名,示例如下:

1.load + 属性名()

2.put + 属性名()

3.is + 布尔属性名()

4.has + 名词/形容词()

5.动词()

6.动词 + 宾语()

变量的名字通常是名词或名词短语,应采用小驼峰命名,以便于理解其含义。

常量名、枚举值名采用全部大写,单词间使用下划线隔开

1.常量命名,应该由全大写单词与下划线组成,单词间用下划线分割。

2.常量命名要尽量表达完整的语义。

避免使用否定的布尔变量名,布尔型的局部变量或方法需加上表达是非意义的前缀

1.布尔型的局部变量建议加上表达是非意义的前缀,比如is,也可以是has、can、should等。

但是,当使用逻辑非运算符,并出现双重否定时,会出现理解问题,比如!isNotError,意味着什么,不是很好理解。

因此,应避免定义否定的布尔变量名。

Harmony OS开发-ArkT语言速成一_开发者_03

其实编程规范还有很多其他的要求,这里就不再一一描述啦,如果想要更多的了解,关注我,私信即可!

5.ArkTS语言总结

ArkTS是一种为构建高性能应用而设计的编程语言。ArkTS在继承TypeScript语法的基础上进行了优化,以提供更高的性能和开发效率。

随着移动设备在人们的日常生活中变得越来越普遍,许多编程语言在设计之初没有考虑到移动设备,导致应用的运行缓慢、低效、功耗大,针对移动环境的编程语言优化需求也越来越大。

ArkTS是专为解决这些问题而设计的,聚焦于提高运行效率。

目前流行的编程语言TypeScript是在JavaScript基础上通过添加类型定义扩展而来的,而ArkTS则是TypeScript的进一步扩展。

TypeScript深受开发者的喜爱,因为它提供了一种更结构化的JavaScript编码方法。

ArkTS旨在保持TypeScript的大部分语法,为现有的TypeScript开发者实现无缝过渡,让移动开发者快速上手ArkTS。

ArkTS的一大特性是它专注于低运行时开销。

ArkTS对TypeScript的动态类型特性施加了更严格的限制,以减少运行时开销,提高执行效率。

通过取消动态类型特性,ArkTS代码能更有效地被运行前编译和优化,从而实现更快的应用启动和更低的功耗。

与JavaScript的互通性是ArkTS语言设计中的关键考虑因素。

鉴于许多移动应用开发者希望重用其TypeScript和JavaScript代码和库,ArkTS提供了与JavaScript的无缝互通,使开发者可以很容易地将JavaScript代码集成到他们的应用中。

这意味着开发者可以利用现有的代码和库进行ArkTS开发。

为了确保应用开发的最佳体验,ArkTS提供对方舟开发框架ArkUI的声明式语法和其他特性的支持。

Harmony OS开发-ArkT语言速成一_开发者_04

好了,本篇文章就到这里啦,希望通过本篇你能更好的了解ArkTS语言,那么下一篇就开始讲解ArkTS的具体语法啦,关注我,带你轻松拿捏Harmony OS的开发