【鸿蒙】初识ArkTS语言

打印 上一主题 下一主题

主题 843|帖子 843|积分 2529

简言

ArkTS是鸿蒙生态的应用开发语言。

ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简便、更天然的方式开发应用。
同时,它在保持TypeScript(简称TS)根本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在步伐运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。
针对JavaScript(简称JS)/TS并发能力支持有限的问题,ArkTS对并发编程API和能力举行了加强。
ArkTS支持与JS/TS高效互操作,兼容JS/TS生态。
我学习的版本是HarmonyOS NEXT Beta1版本。
HarmonyOS NEXT Beta1 文档
ArkTS

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的根本风格,同时通过规范定义强化开发期静态检查和分析,提升步伐实验稳固性和性能。
从API version 10开始,ArkTS进一步通过规范强化静态检查和分析,对比标准TS的差异可以参考从TypeScript到ArkTS的适配规则:


  • 逼迫使用静态类型:静态类型是ArkTS最告急的特性之一。如果使用静态类型,那么步伐中变量的类型就是确定的。同时,由于所有类型在步伐实际运行前都是已知的,编译器可以验证代码的正确性,从而淘汰运行时的类型检查,有助于性能提升。
  • 禁止在运行时改变对象布局:为实现最大性能,ArkTS要求在步伐实验期间不能更改对象布局。
  • 限定运算符语义:为获得更好的性能并鼓励开发者编写更清楚的代码,ArkTS限定了一些运算符的语义。比如,一元加法运算符只能作用于数字,不能用于其他类型的变量。
  • 不支持Structural typing:对Structural typing的支持需要在语言、编译器和运行时举行大量的考虑和仔细的实现,当前ArkTS不支持该特性。根据实际场景的需求和反馈,我们后续会重新考虑。
当前,在UI开发框架中,ArkTS主要扩展了如下能力:


  • 根本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的变乱方法、属性方法等共同构成了UI开发的主体。
  • 状态管理:ArkTS提供了多维度的状态管理机制。在UI开发框架中,与UI相关联的数据可以在组件内使用,也可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,还可以在应用全局范围内传递或跨装备传递。另外,从数据的传递情势来看,可分为只读的单向传递和可变动的双向传递。开发者可以机动地利用这些能力来实现数据和UI的联动。
  • 渲染控制:ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的UI内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。数据懒加载从数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。
ArkTS兼容TS/JavaScript(简称JS)生态,开发者可以使用TS/JS举行开发或复用已有代码。
从文档描述中可以看出,ArkTS基于TS的生态基础上扩展的,除了基础的语言语法,还加了一些声明式UI范式语法、状态管理和渲染控制。
基础语法

ArkTS的基础语法和TS很相似,会TS感觉可以很快上手。
ArkTS语言介绍
另外,我以为非常有必要看下ArkTS的特性:从TypeScript到ArkTS的适配引导
UI范式根本语法

看这里的文档,ArkTS的风格给我的感觉和Flutter的dart的风格有些相似。
UI范式根本语法文档
状态管理

状态管理就是管理UI页面的数据。
状态管理文档
渲染控制

ArkUI通过自定义组件的build()函数和@Builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包罗控制组件是否显示的条件渲染语句,基于数组数据快速天生组件的循环渲染语句,针对大数据量场景的数据懒加载语句,针对混合模式开发的组件渲染语句。
渲染控制文档
结语

ArkTS的基础语法是基石,在此基础上可以进一步学习UI范式+状态管理+渲染控制,实现应用的页面开发。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

滴水恩情

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表