华为的开发语言有2中,分别是ArkTS和仓颉,他们的区别在哪呢?
ArkTS和仓颉(cangjie)他们的区别是什么?
华为的仓颉和 ArkTS 是两种不同的编程语言,它们有以下区别:
- 设计目的:仓颉是一款面向全场景智能的下一代应用编程语言,主打原生智能化、天生全场景、高性能以及强安全,与鸿蒙系统结合,提供良好的编程体验。ArkTS 是 HarmonyOS 首选的开发语言,它在 TypeScript 的基础上做了一些优化和扩展,继承了 TypeScript 的优点,屏蔽了 TypeScript 的缺点,和 ArkUI 框架一起构建了鸿蒙应用。
- 应用场景:仓颉更适合有高性能高并发需求的业务场景,仓颉编程语言目标是打造鸿蒙应用在任务并行/数据并行/高频数据交互/高内存开销等典型场景下的性能竞争力。ArkTS 则更注重应用开发的效率和代码的可读性,适用于开发中小型应用和对性能要求不是特别高的场景。
- 性能和效率:仓颉在性能和效率方面可能更具优势,它提供了更高效的内存管理和任务并行处理能力。ArkTS 则在开发效率和代码可读性方面表现出色,通过静态类型检查和其他特性提高了代码的可靠性和可维护性。
- 语法和特性:两种语言的语法和特性也有所不同。仓颉可能具有一些独特的语法结构和特性,以支持其智能化和全场景的应用开发。ArkTS 则基于 TypeScript,并可能提供了一些特定于鸿蒙应用开发的扩展和库。
总的来说,仓颉和 ArkTS 共同发展,在鸿蒙生态中形成优势互补。未来开发者可以根据业务场景需要,对新增业务部分,根据具体场景选择使用仓颉编程语言或 ArkTS 进行增量开发。
ArkTS
官方文档:ArkTS语言-HarmonyOS Next开发语言-华为开发者联盟
ArkTS 是鸿蒙生态的应用开发语言,它在保持 TypeScript 基本语法风格的基础上,对 TypeScript 的动态类型特性施加更严格的约束,引入静态类型。同时,ArkTS 提供了声明式 UI、状态管理等相应的能力,让开发者可以更简洁、更自然的方式开发高性能应用。
ArkTS 具有以下特点:
- 运用了 ts 声明变量的方式更严谨:ArkTS 运用了 TypeScript 声明变量的方式,更严谨。
- 运用了装饰器的方式定义自定义组件类型:组件式开发页面里面应用了声明式 Ui,可以直接调用方法的形式进行页面布局。
- 利用组件属性方法直接可以改变样式:页面逻辑更强。
- 代码模块化:他也可以组件之间动态传值。以及变量和页面之间的双向绑定。
- 跨多平台:相比于其他前端框架它实现了跨多平台,可以在预览器运行,在模拟器运行,在实际手机,手表上运行。
仓颉(cangjie)
官方文档:仓颉 | 华为开发者联盟
仓颉是中国古代传说中的人物,被尊为“造字圣人”。
仓颉是华为为HarmonyOS全新研发的编程语言。2020年8月,华为注册申请了“仓颉语言”商标。2021年4月,其申请的科学仪器类“仓颉语言”商标注册成功。2021年9月,在华为全联接大会上,华为副总裁、计算产品线总裁邓泰华宣布,华为于2022年推出自研的编程语言仓颉。2022年3月,华为编程语言实验室发布了华为新编程语言试用的报名问卷调查。2022年3月21日,华为技术有限公司申请注册的网站服务类“仓颉语言”商标获批。
仓颉编程语言通过现代语言特性的集成、全方位的编译优化和运行时实现、以及开箱即用的IDE工具链支持,为开发者打造友好开发体验和卓越程序性能。官方表示,仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。