TypeScript与Dart的区别
Dart
Dart是一种开源的通用类型语言,采用类为基础的面向对象语法,具有C风格语法,可以选择将其转译为JavaScript。它用于构建移动应用程序、桌面应用程序和Web应用程序。它支持诸如接口、类、集合、泛型、混入和可选类型等各种编程概念。它是由谷歌开发的,后来被ECMA组批准为标准。Dart的原始发布是在2013年11月。
Dart可用于创建单页面应用程序,这只适用于网站和Web应用程序。单页面应用程序可以在不在浏览器中加载不同的Web页面的情况下,在网站的不同屏幕之间导航。Gmail是一个经典的例子。在Gmail中,当您单击收件箱中的消息时,浏览器停留在相同的Web页面上,但JavaScript代码隐藏了收件箱并将邮件正文带到了屏幕上。
Dart的优点
- 它易于开发人员学习,对于C#、Java和JavaScript有经验的开发人员尤其如此。
- Dart编译成JavaScript,有助于在现代Web上轻松运行Dart应用程序。
- 它有很强的工具支持。
- 它支持运算符重载。
- 它是一种面向对象的编程语言,支持继承、接口和可选类型特性。
TypeScript
TypeScript是一种开源的纯面向对象编程语言。它是一种强类型的JavaScript超集,可编译为纯JavaScript。TypeScript在Apache 2许可证下由Microsoft开发和维护。它不会直接在浏览器上运行,需要编译器来编译并生成JavaScript文件。TypeScript源文件的扩展名为“.ts”。
我们可以将TypeScript用于服务器端和客户端Web应用程序。它也用于大规模Web应用程序的开发。它增加了对由ECMA组TC39委员会维护的ECMAScript中存在的不同特性的支持。
Anders Hejlsberg开发了TypeScript。它的第一个版本是在2012年10月向公众介绍的。在Microsoft内部开发了两年后,发布了新版本的TypeScript 0.9于2013年。当前版本的TypeScript是TypeScript 3.4.5,于2019年4月24日发布。
TypeScript的优点
- 它用于服务器端和客户端语言。
- 它是一种开源和面向对象的编程语言。
- 它非常适合大型项目。
- 它提供对ECMA Script 6功能的支持。
- 它是JavaScript的超集。
TypeScript vs. Dart
我们可以从下表中了解TypeScript与Dart之间的主要区别。
类别 | TypeScript | Dart |
---|---|---|
介绍 | TypeScript是一种开源的纯面向对象编程语言,它是一种强类型的JavaScript超集,可编译为纯JavaScript。 | Dart是一种开源的通用类型语言,采用类为基础的面向对象语法,具有C风格语法,可以选择将其转译为JavaScript。 |
所有者 | Microsoft | |
创建者 | Anders Hejlsberg | Lars Bak和Kasper Lund |
第一次发布 | TypeScript的第一个版本是在2012年10月发布的。 | Dart的第一个发布是在2013年11月。 |
许可证 | Apache 2.0。 | Barkley Software Distribution (BSD)。 |
当前版本 | 2019年7月,TypeScript的当前版本为3.5.3。 | 2019年6月,Dart的当前版本为2.4。 |
设计 | 它是JavaScript的一个有类型超集。 | 它是一个完整的脚本语言,不是JavaScript的超集。 |
运算符重载 | 它不支持运算符重载。 | 它支持运算符重载。 |
库 | 可用的库数量适中。 | 可用的库数量比TypeScript高。 |
工具支持
TypeScript支持以下工具:
- VS Code
- Webstorm
- Netbeans
- Atom
- Sublime
- Eclipse
- Vim
- Emacs
Dart支持以下工具:
- S Code
- IntelliJ
- Android Studio
- Atom
- Vim
- Emacs
构建工具
TypeScript
它有自己的构建工具。
Dart
它支持所有主要的JavaScript构建工具(Browserify,Gulp,Grunt,Webpack等)。