当前位置:   article > 正文

HarmonyOS 开发:ArkTS 语言基础入门_现在学java还是学arkts好

现在学java还是学arkts好
基本概述:
  • 在鸿蒙开发早期使用JavaScript 配合Fage 模型,而如今更为推荐ArkTS 语言 + Stage 模型,这跟Android 开发很相近。早期Android 使用Java 语言配合第三方框架,现Kotlin + JetPack 框架逐渐占据主流地位。ArkTS 语言基础是我们走进HarmonyOS 开发的第一课显。
  • 文章以ArkTS 语言为主题,通过文字 + Demo 的形式,简略介绍了鸿蒙开发前期所需的ArkTS 语言基础。
  • ArkTS 是在TypeScript 的基础上加上鸿蒙特性,而TypeScript 又是在JavaScript 的基础上演变而来的。因此,TypeScript 和JavaScript 也是需要了解的

ArkTS 语言初探

语言发展历史
  • .ets 是继承自 TypeScript 而来的

  • ArkTS 特性:树结构、声明式UI、组件化、状态管理

    • ArkTS = 鸿蒙特性 + TypeScript
    • 鸿蒙代码与FlutterComposeSwiftReact 拥有极大相似性,均为声明式UI + 特定语言
基本语法
  • 示意图:

  • 基本概念:

    • 装饰器: 用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry@Component@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State表示组件中的状态变量,状态变量变化会触发UI刷新。
    • UI描述:以声明式的方式来描述UI的结构,例如build() 中的代码块。
    • 自定义组件:可复用的UI单元,可组合其他组件,如上述被@Component装饰的 struct Hello
    • 系统组件:ArkUI框架中默认内置的基础和容器组件,可直接被开发者调用,比如示例中的ColumnTextDividerButton
    • 属性方法:组件可以通过链式调用配置多项属性,如fontSize()width()height()backgroundColor()等。
    • 事件方法:组件可以通过链式调用设置多个事件的响应逻辑,如跟随在Button后面的onClick()
    • 系统组件、属性方法、事件方法具体使用可参考基于ArkTS的声明式开发范式
数字类型
  • 若定义在结构体外,其前需加 let 关键字

    1. let number1 : number = 99 //默认情况下是十进制的
    2. let number2 : number = 0b10111 //二进制
    3. let number3 : number = 0o123456780 //八进制
    4. let number3 : number = 0x1234567890ABCDEF //十六进制
  • 在结构体内部就不要 let

    number1 : number = 99 
    
字符串类型
  • 字符串声明:单双引号相同

    1. let string1 : String = "WAsbry"
    2. let string2 : String = 'WAsbry'
  • 字符串拼接:

    1. let string : string = `你的名字是:${string1}` //方法一:推荐
    2. let string2 : String = 'WAsbry'
    3. let string : string = 'string2 = ' + string2//也可使用 + 进行拼接
联合类型
  • 多种类型组装在一起,变量最后的类型取决于最后一次赋值操作

    1. let objectType : string | number | boolean
    2. objectType = true //此时objectType 为boolean 类型
    3. objectType = "WAsbry" //此时objectType 为string 类型
    4. objectType = 999 //此时objectType 为number 类型
数组类型
  • 两种声明方式:数组下标从0开始

    1. let strings1 : Array<string> = ['AAA','BBB','CCC'] //常用
    2. let strings2 : string[] = ['AAA','BBB','CCC']
枚举类型
  • 代码展示

    1. enum Color {Red,Green,Blue}
    2. let color : Color = Color.red
元祖类型
  • 类似 Java 中的 Map 键值对

    1. let name1 : [string,number]; //声明
    2. name1 = ["WAsbry",23];//赋值
未知类型
  • unknown:相当于JavaObject,或者是 Kotlin 中的 Any 类型

    1. let testType : unknown = 6; //声明
    2. testType = "WAsbry" //二次赋值,现为字符串类型
    3. testType = false //再次赋值,现为boolean 类型
补充类型
  • 必须在声明时就好定好,用的时候,也只能传这个

    1. //null 类型,用途较少
    2. let str1 : null = null;//声明
    3. str1 = null;//使用
    4. //null 类型,用途较少
    5. let str2 : Undefined = undefind
函数类型
  • 函数声明:此处有点问题

    1. /*
    2. 函数名:setName
    3. 函数参数:name
    4. 返回值类型:void
    5. */
    6. function setName(name) : void{
    7. }
this 关键字
  • 作用:访问结构体内定义的变量

  • 举例:结构体内外定义了同名同类型但不同值的变量

    • this :获取结构体内
    • 不加:获取结构体外
  • 代码:

    1. let postion : string = "outside"
    2. @Entry
    3. @Component
    4. struct Index {
    5. postion : string = "inside"//若访问该变量,需使用this
    6. build() {
    7. Row() {
    8. Column() {
    9. Text(this.postion)//指代inside 字符串
    10. .fontSize(50)
    11. .fontWeight(FontWeight.Bold)
    12. Text(postion)//指代outside 字符串
    13. .fontSize(50)
    14. .fontWeight(FontWeight.Bold)
    15. }
    16. .width('100%')
    17. }
    18. .height('100%')
    19. }
    20. }
  • 效果:

综合使用
  • 考察点:

    • 字符串、枚举类型、联合变量的定义及使用
    • this 关键字指向问题
  • 效果展示:

  1. let postion : string = "outside"
  2. enum Color{Rad = 'red',green = 'green'};//定义枚举类型变量
  3. let color = Color.green
  4. let flag : number | string | boolean //此为联合类型变量
  5. flag = 123
  6. flag = "false"
  7. flag = false//联合类型遍历的最后一次赋值,决定其实际变量类型
  8. @Entry
  9. @Component
  10. struct Index {
  11.  postion : string = "inside"//定义在结构体内的变量:访问时需借助this
  12.  build() {
  13.    Row() {
  14.      Column() {
  15.        Text("准备判断")
  16.        Divider()
  17.        if (flag){
  18.          Text("inside").fontColor(color)
  19.       }else {
  20.          Text(postion).fontColor(Color.Rad)
  21.       }
  22.     }.width('100%')
  23.   }.height('100%')
  24. }
  25. }

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

鸿蒙HarmonyOS Next全套学习资料←点击领取!(安全链接,放心点击

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

鸿蒙(HarmonyOS NEXT)最新学习路线

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

HarmonyOS Next 最新全套视频教程

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

大厂面试必问面试题

鸿蒙南向开发技术

鸿蒙APP开发必备

鸿蒙生态应用开发白皮书V2.0PDF

获取以上完整鸿蒙HarmonyOS学习资料

请点击→

总结
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/942821
推荐阅读
相关标签
  

闽ICP备14008679号