



Dart简介
Dart是谷歌公司开发的计算机编程语言,后来被欧洲计算机制造商协会(European Computer Manufacturers Association,ECMA)认定为标准。Dart被用于Web、服务器、移动应用和物联网等领域的开发,它是宽松开源许可证(修改的BSD证书)下的开源软件。
Dart是面向对象的、类定义的、单继承的语言。它的语法类似于C语言,可以转译为JavaScript,支持接口(interfaces)、混入(mixins)、抽象类(abstract classes)、具体化泛型(reified generics)、可选类型(optional typing)和健全的类型系统(sound type system)。
Dart发布于 2011 年 10 月 10 日至 12 日在丹麦奥尔胡斯举行的GOTO大会上,由Lars Bak和Kasper Lund创建。
ECMA国际组织组建的技术委员会TC52 于 2014 年 7 月批准了Dart语言规范第一版,于2014 年 12 月批准了第二版。
2015 年 5 月Dart开发者峰会上发布了基于Dart语言的移动应用程序开发框架Sky,后更名为Flutter。
2018 年 2 月,Dart2 成为强类型语言。
Dart语言具有以下特点:
(1)高效。Dart语法清晰简洁,工具简单而强大,输入检测可帮助尽早识别细微错误。Dart拥有久经考验的核心库(core libraries)和一个拥有数以千计的packages生态系统。
(2)运行速度快、执行性能好。Dart是少数同时支持 JIT(just in time,即时编译)和AOT(ahead of time,运行前编译)的语言之一。
(3)可移植。Dart 可以编译成ARM和x86 代码,因此Dart移动应用程序可以在iOS、Android上实现本地运行。对于Web应用程序,Dart可以转换为JavaScript。
(4)易学。Dart 是面向对象的编程语言,如果开发人员已经了解C++、C #或Java,那么使用Dart也就非常简单了。
(5)响应式。Dart可以便捷进行响应式编程。由于快速对象分配和垃圾收集器的实现,因此对于管理短期对象(如UI小部件)更加高效。Dart可以通过Future和Stream特性和API实现异步编程。
(6)一切皆对象。Dart语言中一切皆为对象,所有对象都是类的实例,所有类都直接或间接继承Object类。
(7)强类型。Dart是强类型编程语言,变量类型一旦确定就不能改变,但Dart语言允许弱类型语言式编程,也就是说变量的类型可以不在使用前声明。
(8)单线程。Dart语言采用单线程模型,不存在资源竞争和状态同步问题,使用await和async异步工具可以实现异步操作。