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月前
|
数据安全/隐私保护
【HarmonyOS——ArkTS语言】面向对象【合集】
【ArkTS语言-HarmonyOS】面向对象【合集】本次实验,我们在utils目录中创建了MyClass.ets和MyConfig.ets文件,在此过程中定义了Config接口和Color枚举。同时,我们实现了Auth类及其子类WechatAuth和AlipayAuth,从而深入了解了面向对象编程在HarmonyOS开发中的应用。在实验中,我们学会了如何遵循接口规范来实现类的功能,并通过继承机制来扩展类的行为。通过这些实践,我们完成了用户创建、密码设置以及登录操作。
49 3
|
1月前
|
UED
【HarmonyOS——ArkTS语言】计算器的实现【合集】
【ArkTS语言-HarmonyOS】计算器的实现【合集】组件,点击等号后计算函数高效解析表达式并给出准确结果,达成核心功能要求。错误提示不够详尽,难以助力用户快速定位输入错误;响应式设计不足,在不同屏幕规格下适配性差。总体而言,本次实验已成功构建起基本功能框架,后续将针对上述问题深入探究优化方案,不断打磨细节,在完善计算器功能与提升用户体验的道路上持续精进,进而提升自身编程与应用开发的综合能力水平。利用按钮组件顺利完成布局设计,数字、运算符及功能按钮排列有序,操作逻辑清晰直观。
69 2
|
4天前
鸿蒙开发:了解@Builder装饰器
@Builder装饰是鸿蒙UI开发中,非常重要的一个装饰器,在实际的开发中,合理且正确的使用,能够让我们的代码更加的简洁,有两点需要注意,一是,是用私有还是全局,取决于当前的组件的复用机制,如果多个页面都使用了,建议以全局为主;二是传参的动态更新,有更新就使用引用参数传递,没有更新按值传递即可。
53 28
|
1月前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
112 47
Harmony OS开发-ArkTS语言速成二
|
2月前
|
前端开发 API 数据库
鸿蒙开发:异步并发操作
在结合async/await进行使用的时候,有一点需要注意,await关键字必须结合async,这两个是搭配使用的,缺一不可,同步风格在使用的时候,如何获取到错误呢,毕竟没有catch方法,其实,我们可以自己创建try/catch来捕获异常。
105 3
鸿蒙开发:异步并发操作
|
1月前
|
UED 开发者
【HarmonyOS——ArkTS语言】计算器的实现【合集】
【ArkTS语言-HarmonyOS】计算器的实现【合集】组件,点击等号后计算函数高效解析表达式并给出准确结果,达成核心功能要求。错误提示不够详尽,难以助力用户快速定位输入错误;响应式设计不足,在不同屏幕规格下适配性差。总体而言,本次实验已成功构建起基本功能框架,后续将针对上述问题深入探究优化方案,不断打磨细节,在完善计算器功能与提升用户体验的道路上持续精进,进而提升自身编程与应用开发的综合能力水平。利用按钮组件顺利完成布局设计,数字、运算符及功能按钮排列有序,操作逻辑清晰直观。
60 8
|
1月前
|
存储 JSON 区块链
【HarmonyOS NEXT开发——ArkTS语言】购物商城的实现【合集】
HarmonyOS应用开发使用@Component装饰器将Home结构体标记为一个组件,意味着它可以在界面构建中被当作一个独立的UI单元来使用,并且按照其内部定义的build方法来渲染具体的界面内容。txt:string定义了一个名为Data的接口,用于规范表示产品数据的结构。src:类型为,推测是用于引用资源(可能是图片资源等)的一种特定类型,用于指定产品对应的图片资源。txt:字符串类型,用于存放产品的文字描述,比如产品名称等相关信息。price:数值类型,用于表示产品的价格信息。
61 5
|
1月前
|
开发工具 开发者 容器
【HarmonyOS NEXT开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】
从ArkTS代码架构层面而言,@Entry指明入口、@Component助力复用、@Preview便于预览,只是初窥门径,为开发流程带来些许便利。尤其动画回调与Blank组件,细节粗糙,后续定当潜心钻研,力求精进。”,字体颜色为白色,字体大小等设置与之前类似,不过动画配置有所不同,时长为。,不过这里没有看到额外的动画效果添加到这个特定的图片元素上(与前面带动画的元素对比而言)。这是一个显示文本的视图,文本内容为“奇怪的知识”,设置了字体颜色为灰色(的结构体,它代表了整个界面组件的逻辑和视图结构。
57 1
|
7天前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
51 10
|
3月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
116 0
Vanilla OS:下一代安全 Linux 发行版

热门文章

最新文章