ArkTS简介

一、什么是ArkTS?

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

  • ArkTS提供了声明式UI范式状态管理支持等相应的能力,让开发者可以更简洁、更自然的方式开发应用。
  • ArkTS在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范化静态检查和分析 ,🙆🏻‍使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并且实现更好的运行性能。
  • 针对JS/TS并发能力支持有限的问题,ArkTS对并发编程API和能力进行了增强。
  • ArkTS支持与JS/TS高效互操作,兼容TS/JS生态。

二、ArkTS 在 TypeScript基础上增强

  • 1.通过规范约束不合适的特性

ArkTS规范约束TS中过于灵活而影响开发正 确性或者给运行时带来不必要额外开销的特 性,由此可在静态分析阶段获取更确定和稳 定的信息,提升代码健壮性和性能。

  • 2.保留公共子集

保留好的特性,语义与标准TS一致。例如:严格模式、空值安全等。

  • 3.增加新特性

结合应用的开发体验和执行效率需 求,ArkTS增加更多功能。例如:并发增强、UI范式所依赖特性等

  • 4.约束特性示例

delete操作符 在运行时动态创建新属性

三、ArkTS相对TS的约束示例:

1、强化静态类型检查:ArkTS要求所有类型在程序实际运行前都是已知的,减少运行时的类型检测,提升性能。

less 复制代码
// Typescript 代码
const area = ( //在ArkTS中,此处会报错
pixels: new ArrayBuffer(8)^
offset: 0,
stride: 8,
region: { size: { height: 1, width::
}, x: y: 。 }
)

编译器不知道变量area的类型,也无法很好优化
import ( image } from '@kit.ImageKit';
const area: image.PositionArea = (
pixels: new ArrayBuffer(8),
offset: 0,
stride: 8,
region: ( size: { height: 1, width:2 },
x: 0, y: 。 }
}

四、ArkTS基于TypeScript的拓展

  • ArkTS的对UI的拓展

1.UI描述: UI描述语法提供了各种装饰器、自定义组件和UI 描述机制,再配合UI开发框架中的UI内置组件、 事件方法、属性方法等共同构成了应用开发的主 体。

2.状态管理 联态靠语法实现UI相关联的数据在组件内、组 件间、页面间、应用内以及跨设备传递。

相关推荐
巴德鸟1 小时前
华为手机鸿蒙4回退到鸿蒙3到鸿蒙2再回退到EMUI11 最后关闭系统更新
华为·智能手机·harmonyos·降级·升级·回退·emui
一起养小猫1 小时前
Flutter for OpenHarmony 实战_魔方应用UI设计与交互优化
flutter·ui·交互·harmonyos
一只大侠的侠1 小时前
Flutter开源鸿蒙跨平台训练营 Day7Flutter+ArkTS双方案实现轮播图+搜索框+导航组件
flutter·开源·harmonyos
一只大侠的侠2 小时前
Flutter开源鸿蒙跨平台训练营 Day9分类数据的获取与渲染实现
flutter·开源·harmonyos
一只大侠的侠2 小时前
Flutter开源鸿蒙跨平台训练营 Day 5Flutter开发鸿蒙电商应用
flutter·开源·harmonyos
不爱吃糖的程序媛3 小时前
Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙
前端·华为·harmonyos
一只大侠的侠4 小时前
Flutter开源鸿蒙跨平台训练营 Day6ArkUI框架实战
flutter·开源·harmonyos
一只大侠的侠5 小时前
Flutter开源鸿蒙跨平台训练营 Day 4实现流畅的下拉刷新与上拉加载效果
flutter·开源·harmonyos
早點睡3905 小时前
高级进阶 ReactNative for Harmony 项目鸿蒙化三方库集成实战:react-native-drag-sort
react native·react.js·harmonyos
果粒蹬i5 小时前
【HarmonyOS】DAY9:利用React Native开发底部 Tab 开发实战:从问题定位到最佳实践
华为·harmonyos