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的开发



目录
打赏
0
4
5
0
45
分享
相关文章
|
5天前
鸿蒙开发:V2版本装饰器@Once
@Once装饰器只能与@Param搭配使用,仅此一个组合,无其他使用方式,还有就是,必须在V2版本,也就是@ComponentV2装饰的自定义组件中,否则会报异常。
鸿蒙开发:V2版本装饰器@Once
|
2天前
|
鸿蒙开发:实现AOP代码插桩能力
正确的运用AOP,可以提升代码的模块化、复用性、可维护性和灵活性,同时降低了耦合度,使系统更易于扩展和维护。
25 13
鸿蒙开发:实现AOP代码插桩能力
|
6天前
鸿蒙开发:熟知@BuilderParam装饰器
在实际的开发中,我们经常会遇到自定义组件的情况,比如通用的列表组件,选项卡组件等等,由于使用方的样式不一,子组件是动态变化的,针对这一情况,就不得不让使用方把子组件视图传递过来,如何来接收这个UI视图,这就是@BuilderParam装饰器的作用。
鸿蒙开发:熟知@BuilderParam装饰器
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
68 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
4天前
|
鸿蒙开发:校验构造传参装饰器@Require
@Require装饰器依赖ArkTs的类型检查,仅在编译阶段拦截类型错误和缺失参数,对于运行时才能确定的动态值,如从网络请求获取的数据,仍需在生命周期函数中进行二次校验。
39 18
鸿蒙开发:V2版本装饰器之@Monitor装饰器
如果要实现@Monitor监听,其变量一定要被@Local、@Param、@Provider、@Consumer、@Computed装饰,未被修饰则无法被监听,还有,如果监听对象的变化,则不建议在一个类中对同一个属性进行多次@Monitor的监听,多次监听,只有最后一个定义的监听方法才会有效。
HarmonyOS NEXT开发-ArkUI六
本文介绍了颜色渐变(线性渐变和径向渐变)与阴影效果的应用,通过具体代码示例展示了如何在组件中实现这些视觉效果,帮助开发者提升界面美观度。君志所向,一往无前,欢迎一起探索! 简介字数:239
16 0
HarmonyOS NEXT开发-ArkUI六
HarmonyOS NEXT开发-ArkUI八
本文介绍了Harmony OS开发中的线性布局技巧,包括交叉轴对齐、自适应缩放及综合实践案例,帮助开发者轻松掌握相关技能。每天学习一个知识点,一起加油!
18 0
HarmonyOS NEXT开发-ArkUI八
HarmonyOS NEXT开发-ArkUI十二
网格布局(Grid)适用于由多行列组成的复杂界面,支持固定行列、合并单元格及滚动效果。其应用场景广泛,如文件管理、购物列表等。通过设置`columnsTemplate`和`rowsTemplate`可定义行列比例,使用`GridItem`组件实现内容展示。此外,还能通过自定义滚动条优化用户体验。代码示例展示了如何创建固定行列、合并单元格以及实现滚动效果的网格布局。 关注程序员Feri,了解更多实用技术与搞钱技巧,一起在编程道路上不断前行!
22 0
HarmonyOS NEXT开发-ArkUI十二
HarmonyOS NEXT开发-ArkUI十一
本文介绍Swiper组件,它用于滑动轮播显示,支持自动播放、纵向滑动、自定义导航点等特性。通过设置尺寸、内容及属性,可实现丰富的轮播效果。示例代码展示了基本用法和综合实践,帮助开发者快速上手。
28 0
HarmonyOS NEXT开发-ArkUI十一
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等