为什么Angular团队为什么选择TypeScript而不是Dart?

发布于:2021-02-10 00:00:44

0

1266

0

Angular TypeScript Dart

TypeScript为它赢得了Angular团队了什么?Google是否仍在内部使用Dart?比较如何处理?我们很幸运地剖析了Angular最近的TypeScript联盟问题。

当您在寻找JavaScript替代品时,经常想到TypeScript和Dart。随着近期喧闹超过2.0角做圆,去与打字稿了飞镖的决定已经取得很大的争论和辩论。

这个问题已经发布在Reddit上,并且由于他们的TypeScript联盟,Hacker News上的一些用户现在正希望完全从Angular转移。那么Angular和TypeScript配对背后的原因是什么?

微软和谷歌现在是伙伴

在 最近宣布的 微软与谷歌之间的合作标志着AtScript,短命的“语法糖”是角2.0是想介绍的结尾。相反,Angular团队将合并TypeScript,Microsoft开发人员部门的公司副总裁S. Somasegar在本月初报道。

双方之间的合作关系意义重大,微软能够改善TypeScript并允许更广泛的使用,而Google能够满足自己的用户群(大多数情况下已经牢固地扎根于JavaScript)。如Redditor the_hoser所述:与Dart一样,TypeScript胜出是因为,最终,他们俩都必须吸引现有的Web开发人员。这些开发人员几乎无一例外都使用JavaScript。他们的技能不能像TypeScript那样完全转换为Dart。由于不只是成为更好的JavaScript,Dart迷失了。

许多用户也对Dart的目标发表了评论,说这不应该取代JavaScript,而应该与它并存。

Dart无法处理大而复杂的东西吗?

杰夫·沃克(Jeff Walker)最近在博客上发表了有关达特(Dart)问题的博客,重点介绍了特殊的互操作库,该库公开了您访问的所有JavaScript对象的包装版本。虽然它使Dart可以“安全地将JavaScript沙盒化,并防止其问题泄漏到Dart应用程序中”,但Walker认为,这往往会将您“隔离”到您正在使用的特定平台上:当前,许多令人兴奋的新JavaScript库正在发布,Dart平台还不成熟,还没有时间填写开发人员可能想要的所有选项。要避免进入JavaScript雷区,被孤立到Dart平台中将是一个很高的代价。

Redditor zoechi对于Dart的可管理性也有话要说:如果他们在Dart中构建Angular,将无法在JavaScript应用程序中使用它。Dart构建为JavaScript,但现在需要立即将整个应用程序构建为JavaScript(将来可能会更改)。无法从Angular.dart构建Angular.js以在JS应用程序中使用。

Dart目前不生成消耗性JavaScript。大多数情况下,TypeScript并不存在此问题,尽管Dart已在Google上得到了积极使用,但对于Angular的当前用户群来说,它仍然很好。

自己的语言与JavaScript超集

归根结底,Google对Dart的开发旨在创建一种新的Web编程语言。与Dart相比,TypeScript遵循的是一种不太激进的方法–它是JavaScript的类型化超集,只需将源文件从* .js重命名为* .ts,就可以将现有的JavaScript项目转换为TypeScript 。

Dart可能不打算取代JavaScript,而是希望与其并存并编译为可读但快速的JavaScript。特殊的互操作库也是一项可以查看的功能,以便开发人员使用已经存在的成千上万个JavaScript库。

对于那些不熟悉TypeScript的人,Hacker News上的用户peferron很好地指出:“感觉就像编写JavaScript一样,但是带有一层薄薄的类型注释,为您带来了熟悉的静态键入优势”。