首页 > 其他分享 >鸿蒙ArkTS和TS有什么区别?

鸿蒙ArkTS和TS有什么区别?

时间:2024-11-11 17:18:16浏览次数:3  
标签:ArkTS TypeScript 鸿蒙 TS 支持 类型 ArKTS

Ark是强类型,打包编译的时候会保留类型。提高程序运行效率。

TS 支持类型校验,但是并不严格,支持any、unknown 这些不明确的类型。编译后其实js+d.ts,js文件不保留类型。

ArkTS基本禁用了动态类型

比如对象不能随意添加或者删除某些属性,对象类型要明确,需提前用interface或class把对象的类型定义号

禁用了解构赋值

展开运算符...只支持数组,不支持对象展开

禁用了call。apply,bind 这些方法改变this执行

禁用any,unknown 这些不明确的类型

通过@state @props 装饰器声明数据的时候,必须指定类型

ArkTS语法整体借鉴了TS,但是比TS更加严格

ArkTS基本并兼容了TS语法,继承了TS的所有特性,当前,ArkTS的基本上主要扩展了声明式UI能力,让开发者能够以简洁、更自然的方式开发高性能应用。推荐用ArtTS的基础上主要扩展了声明式UI能力,让开发者能够已更简洁,更自然的方式开发高性能应用,推荐用ArkTS 开发UI相关内容,TS可以用来开发业务逻辑相关内容。

ArkTS 是鸿蒙(HarmonyOS)官方推出的一种基于 TypeScript 的编程语言,专门用于鸿蒙应用开发。它在 TypeScript 的基础上增加了一些特定于鸿蒙的特性和语法糖。

以下是 ArkTSTypeScript 的主要区别:

1. 语言设计目标

TypeScript (TS)
设计目标:TypeScript 是一种静态类型的编程语言,它是 JavaScript 的超集,增加了类型系统、接口、类等特性,旨在提高代码的可维护性和可读性。
用途:广泛用于前端和后端开发,特别是在大型项目中,TypeScript 的类型系统可以帮助开发者提前发现潜在的错误,提高代码质量。
生态系统:拥有庞大的社区和丰富的工具链,如 VSCode、TypeScript 编译器、TypeScript 语言服务等。

 ArKTS (ArkUI Toolkit Script)
设计目标:ArKTS 是华为为 HarmonyOS 开发的一种脚本语言,专为构建跨设备的用户界面而设计。它结合了声明式 UI 和响应式编程的特点,旨在简化多设备应用的开发。
用途:主要用于 HarmonyOS 应用的开发,特别是在构建跨设备的用户界面时。ArKTS 旨在提供一种更高效、更简洁的方式来开发 HarmonyOS 应用。
生态系统:目前主要由华为及其合作伙伴支持,生态系统相对较小,但随着 HarmonyOS 的发展,预计会逐渐壮大。

2. 语言特性

TypeScript (TS)
类型系统:支持静态类型检查,包括基本类型、联合类型、元组、枚举等。
类和接口:支持类、接口、泛型等面向对象编程特性。
模块系统:支持 ES6 模块系统,可以方便地组织和管理代码。
装饰器:支持装饰器,可以用于类、方法、属性等,增强代码的可扩展性。
工具支持:强大的编译器和语言服务,支持代码补全、类型检查、重构等。

 ArKTS (ArkUI Toolkit Script)
声明式 UI:采用声明式编程范式,开发者可以更直观地描述 UI 结构和行为。
响应式编程:支持响应式编程,可以轻松处理数据变化和 UI 更新。
组件化:支持组件化开发,可以复用和组合组件,提高开发效率。
跨设备适配:内置对多设备的支持,可以轻松适配不同屏幕尺寸和设备类型。
工具支持:主要通过 DevEco Studio 提供开发工具支持,包括代码编辑、调试、预览等。

3. 语法差异

TypeScript (TS)

 // 声明一个函数
function add(a: number, b: number): number {
  return a + b;
}

// 声明一个接口
interface Person {
  name: string;
  age: number;
}

// 创建一个类
class User implements Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }

  greet() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

// 使用类
const user = new User('Alice', 30);
user.greet();
 

ArKTS (ArkUI Toolkit Script)


// 声明一个组件
@Entry
@Component
struct MyComponent {
  @State count: number = 0;

  build() {
    Column() {
      Text(`Count: ${this.count}`).fontSize(20).margin({ top: 20 })
      Button("Increment")
        .onClick(() => {
          this.count++;
        })
        .margin({ top: 20 })
    }.width('100%').height('100%')
  }
}
 

 4. 生态系统和社区

TypeScript (TS)
社区:庞大的开发者社区,丰富的第三方库和框架,如 React、Vue、Angular 等。
工具:成熟的开发工具,如 VSCode、WebStorm 等,支持 TypeScript 的语法高亮、代码补全、类型检查等。

 ArKTS (ArkUI Toolkit Script)
社区:相对较小,主要由华为及其合作伙伴支持,但随着 HarmonyOS 的发展,社区正在逐渐壮大。
工具:主要通过 DevEco Studio 提供开发工具支持,包括代码编辑、调试、预览等。

 总结

TypeScript (TS):是一种通用的静态类型编程语言,广泛用于前端和后端开发,特别适合大型项目的开发,具有强大的类型系统和丰富的生态系统。
ArKTS (ArkUI Toolkit Script):是专门为 HarmonyOS 设计的脚本语言,专注于构建跨设备的用户界面,采用声明式和响应式编程范式,简化多设备应用的开发。

选择哪种语言取决于你的具体需求和应用场景。如果你需要开发跨设备的 HarmonyOS 应用,ArKTS 是一个很好的选择。如果你需要开发通用的 Web 或后端应用,TypeScript 则更为合适。

标签:ArkTS,TypeScript,鸿蒙,TS,支持,类型,ArKTS
From: https://blog.csdn.net/H1453571548/article/details/143587062

相关文章

  • 【AE2024】Adobe After Effects专业视频特效制作软件下载安装(附百度云链接)
    一、AdobeAfterEffects软件简介1.什么是AdobeAfterEffectsAdobeAfterEffects,简称AE,是Adobe公司推出的专业视频特效制作软件,广泛用于影视后期制作、视频剪辑、动画制作等领域。AE在图像合成、视觉特效和动态图形制作方面表现出色,能够帮助用户创建各种复杂的视觉......
  • wxWidgets GUI设计教程 - 绘图与图形处理
    wxWidgetsGUI设计教程-绘图与图形处理目标本教程将介绍在wxWidgets中实现基本绘图与图形处理的方法。学习这些内容可以帮助开发者在应用中实现自定义的图形、图表以及图像处理功能。本教程从绘图的基础概念入手,逐步深入到自定义绘图设备上下文、处理图像和实现动态绘图......
  • 鸿蒙开发,arkts 如何读取普通文件
    ArkTS提供了渲染控制的能力,包括条件渲染、循环渲染和数据懒加载等。这些渲染控制语句可以辅助UI的构建,提高应用的性能和用户体验。今天给大家分享arkts如何读取普通文件知识,如果有所帮助,大家点点关注支持一下,也可以联系上我一起学习。在ArkTS中读取普通文件可以通过以下......
  • 服务器漏洞修复:TLS 1.0 已启用、HSTS、CSP
    1、TLS1.0已启用描述:此Web服务器支持通过TLS1.0加密。TLS1.0不被认为是“强密码术”。根据PCI数据安全标准3.2(.1)的定义和要求,在保护从网站往返的敏感信息时,TLS1.0并不被认为是"强加密"。根据PCI,"2018年6月30日是禁用SSL/早前TLS并实施更安全的加密协......
  • 鸿蒙生态的全景透视
    鸿蒙生态的全景透视在这个智能设备日益普及的时代,你是否也在思考:不同设备之间如何才能实现无缝连接?鸿蒙生态,作为华为推出的全新操作系统,或许会给你答案。它不仅仅是一个操作系统,更是一个充满机遇和挑战的生态环境。本文将走进鸿蒙生态的世界,探索它的概念、运作方式、潜在的......
  • ECharts饼图-饼图9,附视频讲解与代码下载
    引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详细的视频讲解和代码下载链接,帮助大家快速上手。一、图表效果预览 二、视......
  • 如何在鸿蒙NEXT系统中构建安全的数据防泄漏体系
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在当今数字化时代,数据已成为企业......
  • 鸿蒙NEXT系统中的业务集成指南:让设备证书为你的应用保驾护航
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在当今数字化时代,企业和开发者们......
  • 鸿蒙Next设备认证机制:Device Certificate Kit的真实性证明应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在当今数字化的浪潮中,设备的安全......
  • 鸿蒙Next设备认证机制:Device Certificate Kit的真实性证明应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在当今数字化的浪潮中,设备的安全性和真......