ArkTS到底是什么?为什么说它是HarmonyOS NEXT开发的核心语言?
前言学习HarmonyOS NEXT时你一定绕不开一个词ArkTS很多开发者第一次接触时都会有疑问ArkTS是什么它和TypeScript有什么关系为什么鸿蒙不用Java和Kotlin学会ArkTS就能开发鸿蒙应用吗事实上在HarmonyOS NEXT中ArkTS HarmonyOS NEXT开发的基础语言如果说Android Kotlin iOS Swift那么HarmonyOS NEXT ArkTS今天我们就来彻底搞懂ArkTS。一、ArkTS是什么ArkTS全称Ark TypeScript它是华为基于TypeScript扩展出来的一门开发语言。官方目标提升运行效率 提升开发效率 增强类型安全 适配鸿蒙生态简单理解TypeScript 鸿蒙扩展能力 ArkUI支持 ArkTS因此学习过前端的同学会发现很多语法非常熟悉。二、为什么鸿蒙不用Java很多Android开发者都有这个疑问。为什么不用Java Kotlin而要重新设计ArkTS原因主要有三个。原因一统一生态鸿蒙面向手机平板手表车机智慧屏IoT设备如果继续使用Java体系Java Android Framework会受到很多历史包袱限制。ArkTS更容易统一多端开发。原因二性能更高传统JavaJava ↓ 字节码 ↓ JVM ↓ 执行ArkTSArkTS ↓ Ark Compiler ↓ 机器码 ↓ 执行减少运行时开销。原因三降低学习成本目前前端开发者数量庞大。而ArkTS与TypeScript高度相似let name:stringTom几乎没有学习门槛。三、ArkTS和TypeScript有什么区别很多文章都说ArkTS就是TypeScript。这其实并不准确。更准确地说ArkTS ⊃ TypeScriptArkTS兼容大量TypeScript语法。同时增加了装饰器状态管理UI描述能力鸿蒙系统能力TypeScript代码class User { name:string constructor(name:string){ this.namename } }ArkTS代码Entry Component struct Index { build() { Column() { Text(Hello HarmonyOS) } } }这里Entry Component就是鸿蒙扩展能力。四、ArkTS基础语法对于Java开发者来说大约70%的语法一天内就能掌握。变量定义let name:stringHarmonyOS const version:number5数据类型string number boolean示例let age:number18 let flag:booleantrue数组let nums:number[][1,2,3,4]遍历for(let item of nums){ console.info(item) }对象let user{ name:Tom, age:18 }访问console.info(user.name)五、ArkTS中的类与Java非常相似。定义类class Student{ name:string constructor(name:string){ this.namename } study(){ console.info(学习中) } }创建对象let stunew Student(张三) stu.study()继承class Person{ run(){} } class Student extends Person{ }和Java几乎一样。六、ArkTS最重要的特性——装饰器这是鸿蒙开发必须掌握的内容。什么是装饰器例如StateComponentEntry这些就是装饰器。作用增强对象能力Entry表示应用入口页面例如Entry Component struct Index{ }Component表示这是一个组件类似React ComponentState表示状态变量例如State count:number0七、为什么State这么重要这是鸿蒙响应式开发核心。传统写法textView.setText(10)ArkTSState count:number0 Text(${this.count})修改this.count页面自动刷新。整个过程修改数据 ↓ 自动通知UI ↓ 界面更新开发效率极高。八、第一个ArkTS程序完整示例Entry Component struct Index { State message:stringHello HarmonyOS build() { Column() { Text(this.message) .fontSize(30) Button(点击我) .onClick((){ this.messageArkTS真香 }) } .width(100%) .height(100%) } }效果Hello HarmonyOS [点击我]点击后ArkTS真香 [点击我]无需刷新页面。九、ArkTS开发需要掌握哪些知识建议按照下面路线学习。第一阶段基础语法学习变量 函数 数组 对象 类 继承 接口 泛型时间3天第二阶段装饰器学习Entry Component State Prop Link时间3天第三阶段ArkUI学习Text Button Image List Grid Tabs时间1周第四阶段项目实战推荐TodoList 记账本 新闻App 商城首页时间2周十、ArkTS未来值得学吗答案很明确值得。原因有三鸿蒙生态快速发展原生鸿蒙应用数量持续增长。企业招聘需求增加越来越多企业开始招聘HarmonyOS开发工程师技术门槛尚未饱和相比Java Android鸿蒙开发者数量仍然较少。对于大学生和转型开发者来说是一个机会窗口。总结ArkTS并不是一门完全陌生的新语言。它本质上是TypeScript 鸿蒙扩展 声明式UI能力对于Android开发者前端开发者Java开发者在校学生来说都具备较低的学习门槛。如果说ArkUI决定界面长什么样那么ArkTS决定应用如何运行掌握ArkTS是进入HarmonyOS NEXT开发世界的第一步。