程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java相关开发、鸿蒙开发、人工智能等,专注于程序员搞钱那点儿事,希望在搞钱的路上有你相伴!君志所向,一往无前!
1.ArkTS
1.1 ArkTS语言
ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。
同时,提供了声明式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内容。
循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
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,意味着什么,不是很好理解。
因此,应避免定义否定的布尔变量名。
其实编程规范还有很多其他的要求,这里就不再一一描述啦,如果想要更多的了解,关注我,私信即可!
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的声明式语法和其他特性的支持。
好了,本篇文章就到这里啦,希望通过本篇你能更好的了解ArkTS语言,那么下一篇就开始讲解ArkTS的具体语法啦,关注我,带你轻松拿捏Harmony OS的开发