Harmony OS开发-ArkT语言速成一

简介: 本文介绍ArkTS语言,它是鸿蒙生态的应用开发语言,基于TypeScript,具有静态类型检查、声明式UI、组件化架构、响应式编程等特性,支持跨平台开发和高效性能优化。ArkTS通过强化静态检查和分析,提升代码健壮性和运行性能,适用于Web、移动端和桌面端应用开发。关注我,带你轻松掌握HarmonyOS开发。

程序员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的开发



目录
相关文章
|
1天前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
58 47
Harmony OS开发-ArkTS语言速成二
|
3天前
|
API 索引
鸿蒙开发:实现一个超简单的网格拖拽
实现拖拽,最重要的三个方法就是,打开编辑状态editMode,实现onItemDragStart和onItemDrop,设置拖拽移动动画和交换数据,如果想到开启补位动画,还需要实现supportAnimation方法。
54 13
鸿蒙开发:实现一个超简单的网格拖拽
|
2天前
|
索引
鸿蒙开发:自定义一个股票代码选择键盘
金融类的软件,特别是股票基金类的应用,在查找股票的时候,都会有一个区别于正常键盘的键盘,也就是股票代码键盘,和普通键盘的区别就是,除了常见的数字之外,也有一些常见的股票代码前缀按钮,方便在查找股票的时候,更加方便的进行检索。
鸿蒙开发:自定义一个股票代码选择键盘
|
2天前
鸿蒙开发:自定义一个英文键盘
实现方式呢,有很多种,目前采用了比较简单的一种,如果大家采用网格Grid组件实现方式,也是可以的,但是需要考虑每行的边距以及数据,还有最后两行的格子占位问题。
鸿蒙开发:自定义一个英文键盘
|
3天前
|
存储 JSON 数据库
鸿蒙元服务项目实战:备忘录内容编辑开发
富文本内容编辑我们直接使用RichEditor组件即可,最重要的就是参数,value: RichEditorOptions,通过它,我们可以用来设置样式,和获取最后的富文本内容,这一点是很重要的。
鸿蒙元服务项目实战:备忘录内容编辑开发
|
1天前
|
前端开发 API 数据库
鸿蒙开发:异步并发操作
在结合async/await进行使用的时候,有一点需要注意,await关键字必须结合async,这两个是搭配使用的,缺一不可,同步风格在使用的时候,如何获取到错误呢,毕竟没有catch方法,其实,我们可以自己创建try/catch来捕获异常。
鸿蒙开发:异步并发操作
|
1天前
|
API
鸿蒙开发:实现popup弹窗
目前提供了两种方式实现popup弹窗,主推系统实现的方式,几乎能满足我们常见的所有场景,当然了,文章毕竟有限,尽量还是以官网为主。
鸿蒙开发:实现popup弹窗
|
2天前
鸿蒙开发:自定义一个车牌字母键盘
车牌字母键盘和一般的键盘还有很大区别的,大家可以发现,键盘上是少一个字母的,因为I字母具有混淆性,所以这个字母是不在车牌键盘内的。
鸿蒙开发:自定义一个车牌字母键盘
|
3天前
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
53 13
|
2天前
|
机器学习/深度学习 API 语音技术
鸿蒙开发:文本合成语音
在鸿蒙当中,如何实现根据指定的文本进行合成语音合成播放呢,其实也是非常的简单,因为鸿蒙当中也有textToSpeech。