Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

了解 ArkTS 语言 #7

Open
cnwutianhao opened this issue Jan 28, 2024 · 0 comments
Open

了解 ArkTS 语言 #7

cnwutianhao opened this issue Jan 28, 2024 · 0 comments

Comments

@cnwutianhao
Copy link
Owner

一、传统网页开发(HTML、CSS、JavaScript)

  1. HTML 控制页面元素
  2. CSS 控制页面布局和样式
  3. JavaScript 控制页面逻辑和数据状态。

二、ArkTS

实现网页开发需要同时掌握三种不同的开发语言(HTML、CSS、JavaScript),这三种语言的语法完全不同,所以说开发体验完全不统一,但是现在有了 ArkTS:

  1. ArkTS 基于 TypeScript,而 TypeScript 又是基于 JavaScrpit,在 JavaScript 基础上进行了加强和拓展。因此,ArkTS 就具备 JavaScript 这些能力,像做页面逻辑控制、数据状态控制完全可以用 ArkTS 来实现。不仅如此,TypeScript 在 JavaScript 的基础上增加了静态类型定义等功能,因此,TypeScript 的拓展能力就变得更强了,而 ArkTS 又是基于 TypeScript 的,所以 TypeScript 的特性,ArkTS 都具备,因此 ArkTS 不仅仅能完成 JavaScript 的工作,而且还可能比 JavaScript 做的更好。

  2. ArkTS 在 TypeScript 的基础上拓展了新的功能,比如声明式UI、状态管理等。

    所谓的 声明式UI 简单来讲就是 我需要什么我就声明什么

    1-2

    • 声明一个按钮:

      build() {
          Button('点我0次')
      }
      
    • 修改按钮背景色

      build() {
          Button('点我0次')
          .backGroundColor('#36D')
      }
      
    • 修改按钮位置为居中

      build() {
          Button('点我0次')
          .backGroundColor('#36D')
      }
      .width('100%')
      .justifyContent(FlexAlign.Center)
      
    • 实现点击效果、并修改按钮文字内容

      times: number = 0
      build() {
          Button('点我${this.times}次')
          .backGroundColor('#36D')
          .onClick(() => this.times++)
      }
      .width('100%')
      .justifyContent(FlexAlign.Center)
      
  3. ArkTS 开发效率高、开发体验好

    ArkTS 尽管是用声明式UI来实现的前端,但是底层有一个方舟编译器,这个编译器会把我们写的 TypeScript 编译成字节码,最终转换成机器码去运行。而且,会把从字节码到机器码这样一个转译的动作从运行期提前到编译期,从而大大提高效率,这就是方舟编译器的AOT技术。不仅如此,它还有一套统一的UI后端引擎,提供了一些统一的页面渲染指令,当我们的不同应用在去渲染的时候,其实只需要调用这些指令就行,而这些指令会统一提交到渲染总线,最后传递给操作系统底层高效渲染引擎,这个引擎会对页面渲染的UI指令再次优化,从而大大提高页面渲染的效率。因此,ArkTS 尽管是用 JS 语言写的,但是执行的性能可以说是非常的好。不仅如此,鸿蒙系统底层为 ArkTS 提供了不同系统跨平台的适配层和桥接层,因此,利用 ArkTS 来开发应用还具备多系统适配和接入能力。

    2

三、总结

综上所属,用 ArkTS 来开发鸿蒙应用,不仅简单,而且运行性能更好,还能跨系统去做适配,可以说非常强大。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant