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更容易统一多端开发。
原因二:性能更高
传统Java:
Java
↓
字节码
↓
JVM
↓
执行
ArkTS:
ArkTS
↓
Ark Compiler
↓
机器码
↓
执行
减少运行时开销。
原因三:降低学习成本
目前前端开发者数量庞大。
而ArkTS与TypeScript高度相似:
let name:string="Tom"
几乎没有学习门槛。
三、ArkTS和TypeScript有什么区别?
很多文章都说:
ArkTS就是TypeScript。
这其实并不准确。
更准确地说:
ArkTS ⊃ TypeScript
ArkTS兼容大量TypeScript语法。
同时增加了:
- 装饰器
- 状态管理
- UI描述能力
- 鸿蒙系统能力
TypeScript代码
class User {
name:string
constructor(name:string){
this.name=name
}
}
ArkTS代码
@Entry
@Component
struct Index {
build() {
Column() {
Text("Hello HarmonyOS")
}
}
}
这里:
@Entry
@Component
就是鸿蒙扩展能力。
四、ArkTS基础语法
对于Java开发者来说:
大约70%的语法一天内就能掌握。
变量定义
let name:string="HarmonyOS"
const version:number=5
数据类型
string
number
boolean
示例:
let age:number=18
let flag:boolean=true
数组
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.name=name
}
study(){
console.info("学习中")
}
}
创建对象
let stu=new Student("张三")
stu.study()
继承
class Person{
run(){}
}
class Student extends Person{
}
和Java几乎一样。
六、ArkTS最重要的特性——装饰器
这是鸿蒙开发必须掌握的内容。
什么是装饰器?
例如:
@State
@Component
@Entry
这些就是装饰器。
作用:
增强对象能力
@Entry
表示:
应用入口页面
例如:
@Entry
@Component
struct Index{
}
@Component
表示:
这是一个组件
类似:
React Component
@State
表示:
状态变量
例如:
@State count:number=0
七、为什么@State这么重要?
这是鸿蒙响应式开发核心。
传统写法:
textView.setText("10")
ArkTS:
@State count:number=0
Text(`${this.count}`)
修改:
this.count++
页面自动刷新。
整个过程:
修改数据
↓
自动通知UI
↓
界面更新
开发效率极高。
八、第一个ArkTS程序
完整示例:
@Entry
@Component
struct Index {
@State message:string="Hello HarmonyOS"
build() {
Column() {
Text(this.message)
.fontSize(30)
Button("点击我")
.onClick(()=>{
this.message="ArkTS真香"
})
}
.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开发世界的第一步。
更多推荐



所有评论(0)