如何评价华为新提出的 arkTS 语言?

2022-11-17 11:24:58 +08:00
 washbrain

官方描述

ArkTS 是 HarmonyOS 优选的主力应用开发语言。ArkTS 基于 TypeScript (简称 TS )语言扩展而来,是 TS 的超集。

ArkTS 继承了 TS 的所有特性。

当前,ArkTS 在 TS 基础上主要扩展了声明式 UI 能力,让开发者以更简洁、更自然的方式开发高性能应用。

当前扩展的声明式 UI 包括如下特性

-基本 UI 描述:ArkTS 定义了各种装饰器、自定义组件、UI 描述机制,再配合 UI 开发框架中的 UI 内置组件、事件方法、属性方法等共同构成了 UI 开发的主体。

-状态管理:ArkTS 提供了多维度的状态管理机制,在 UI 开发框架中,和 UI 相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,也可以是全局范围内的传递,还可以是 跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和 UI 的联动。

-动态构建 UI 元素:ArkTS 提供了动态构建 UI 元素的能力,不仅可以自定义组件内部的 UI 结构,还可复用组件样式,扩展原生组件。

-渲染控制:ArkTS 提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的部分内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。

-使用限制与扩展:ArkTS 在使用过程中存在限制与约束,同时也扩展了双向绑定等能力。
未来,ArkTS 会结合应用开发 /运行的需求持续演进,逐步提供并行和并发能力增强、类型系统增强、分布式开发范式等更多特性。

个人感觉:语法上即视感太强,与其说是 TS ,不如说是 Jetpack Compose + Swift UI ;

不知道底层是怎么实现的,之前就有看到过鸿蒙是支持 javascript 来开发的;

不知道有没有开发过的同学分享下使用体验;

( PS:这个应该不是仓颉)

链接: https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/arkts-get-started-0000001430600477-V3

13522 次点击
所在节点    问与答
100 条回复
fanxasy
2022-11-17 17:22:04 +08:00
一副安卓被吸干,冷笑走向 TS 的画面跃然纸上
bugmaker233
2022-11-17 18:12:29 +08:00
支持华为!
janus77
2022-11-17 18:23:02 +08:00
稍微看了下,DSL 呗……勉强算语言吧,不过给程序员用的东西真没必要过度营销,你做的好大家自然会买账
xuelu520
2022-11-17 18:43:48 +08:00
为啥不叫 hwTS 语言。
calvinHxx
2022-11-17 18:53:00 +08:00
我先来带节奏!!!。
ArkTS 是世界上最好的语言. [手动狗头]
FightPig
2022-11-17 19:25:51 +08:00
v2 上华为不管出的是啥都是 p ,毕竟 v2 上的全是大神。
ylls
2022-11-17 19:49:39 +08:00
@FightPig 可能技术人员比较较真 觉得技术领域还是少一些营销 务实点好 不可否认这东西对国内来说是个进步 但是相比目前的主流有一定的差距 借鉴不可怕 就怕的是借鉴别人的时候还要踩低一下凸显自己很牛逼
newmlp
2022-11-17 19:50:53 +08:00
唾~
Torpedo
2022-11-17 21:19:00 +08:00
看起来是给鸿蒙 os 开发用的。那么问题来了:鸿蒙 os 开发前景怎么样?市场待遇、需求如何?
ZRS
2022-11-17 21:23:18 +08:00
比缝更缝
icatme
2022-11-17 21:42:23 +08:00
@dacapoday 你会把 Debian 叫 UI 吗?
ruxuan1306
2022-11-17 21:42:51 +08:00
TypeScript 很不错,它让很多熟练纯面向对象语言的开发者在 JavaScript 中也能保持一切都写在 Class 里的良好习惯。
blless
2022-11-17 21:46:54 +08:00
看了一眼文档,没有实际操作。arkTS 是带编译器的,可以进行 AOT 编译 ( https://developer.harmonyos.com/cn/develop/arkCompiler/)。然后通过下方地址再进去看了一眼,
指向了一个运行时仓库
https://gitee.com/openharmony/arkcompiler_ets_runtime
再看了一眼其他相关页面
https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/ARK-Runtime-Subsystem-zh.md
一直到最近都还在更新,如果鸿蒙真的用上了这些,说语言也不过分。
dw2693734d
2022-11-17 22:14:53 +08:00
一切都向苹果看齐
neptuno
2022-11-17 22:29:04 +08:00
@ntfnyz #1 四方混战了要
moliniao
2022-11-17 22:34:57 +08:00
看一个事物,要看环境,对于现在的华为来说,降低开发者难度,普及推广自身生态最关键
就好像 google ,也是到了一定的程度才推出的 go 和 dart
freshmanc
2022-11-17 23:09:26 +08:00
“基本 UI 描述:ArkTS 定义了各种装饰器、自定义组件、UI 描述机制,再配合 UI 开发框架中的 UI 内置组件、事件方法、属性方法等共同构成了 UI 开发的主体。”

为什么这种叫语言。。。不是 UI 框架的吗
huohei
2022-11-17 23:39:16 +08:00
我去,这不是我们 SwiftUI 吗,没想到居然被华为收购了🤣,还变成了 typescript ,怎么证明?
mbooyn
2022-11-17 23:49:19 +08:00
借楼问一下,鸿蒙是不是抄的安卓?
WOLFRAZOR
2022-11-17 23:51:24 +08:00
这不就是 Jetpack Compose 吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/895887

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX