当前位置: 首页 > 工具软件 > Quiver Dart > 使用案例 >

Dart(1)-简介

幸弘光
2023-12-01

一、Dart简介

Dart1亮相于2011年10月10日至12日在丹麦奥尔胡斯举行的GOTO大会上,由Google出品。该项目由Lars bak和kasper lund创建,他们也Google Chrome V8引擎的开发者。

Ecma国际组织于2014年7月第107届大会批准了Dart语言规范第一版,并于2014年12月批准了第二版。

Google刚开始创造它是由于对JavaScript不够满意,将它用来作为浏览器脚本语言运行在浏览器中。当初为了推广Dart,Google利用自己的利器Chrome,让它内置了DartVM引擎。有了运行环境,加上用户群的可观数量,Dart最初也赢得了部分前端开发者的青睐。后台由于NodeJS的火爆,JavaScript似乎称霸了武林,有种一统天下的既视感,JavaScript可以用于前端、后端、移动端。就这样Dart被程序员们冷落,在2015年的时候,Google在Chrome中默默的移除了内置的DartVM引擎。

2015年5月Dart开发者峰会上,亮相了基于Dart语言的移动应用程序开发框架Sky,后更名为Flutter。将Dart重新包装,进入了移动跨平台开发的领域。如同Javascript,Dart在服务端和浏览器前端也在不遗余力的发展,服务端可以编写命令行程序,前端可以编译成Javascript运行在浏览器中。Google的另一个前端大杀器Angular也有对应的Dart版本。在Google的未来操作系统Fuchsia中,Dart被指定为官方的开发语言。

另外,Google由于Android中使用了Java,由于专利问题与Oracle有纠纷,可能是为了免去这些无尽的官司,Google推出了Kotlin,使用Dart也有类似的初衷。Dart的创造者们总结了Dart1.0版本的优缺点,决定打造一个运行更快、更加安全的强类型语言Dart。2018年2月正式退出Dart2.0,在Dart1.0的时候,Dart是一门弱语言,在Dart2.0依旧可以使用类型推断等弱类型语言的特性。

二、Dart 语言

Dart 属于应用层编程语言。它有自己的 DartVM ,通常情况下运行在自己的VM上,但是在特定情况下他也可以编译成 Native Code 运行在硬件上(比如移动开发框架中,Flutter 会将代码编译成指定平台的 Native Code 以提高性能)。运行 Dart 编写的软件,既可以以明文代码的方式直接运行,还支持运行快照打包后的二进制,以提高启动速度、安全性和性能。你可以将它当做JAVA,亦可以当做 JavaScript;它比 JAVA 简单,易于理解,比JavaScript 更加规范,更加工程化。

三、Dart 的特性

  • 单进程异步事件模型;

  • 强类型,可以类型推断;

  • DartVM,具有极高的运行效率和优秀的代码运行优化,根据早前的基准测试,性能比肩 Java7 的JVM;

  • 独特的隔离区( Isolate ),可以实现多线程;

  • 面向对象编程,一切数据类型均派生自 Object ;

  • 运算符重载,泛型支持;

  • 强大的 Future 和 Streams 模型,可以简单实现高效的代码;

  • 全平台语言,可以很好的胜任移动和前后端的开发。

  • 在语法上,Dart 提供了很多便捷的操作,可以明显减少代码量。比如字符连接,可以直接 "my name is $name, age is $age",无需+号拼接,也无需做类型转换。

四、Dart可以做什么

Dart是一种针对客户端优化的语言,可在任何平台上开发快速应用程序。它的目标是为多平台开发提供最高效的编程语言,并为应用程序框架提供 灵活的执行运行时平台

Native platform:对于针对移动和台式设备的应用程序,Dart包括具有即时(JIT)编译功能的Dart VM和用于生成机器代码的提前(AOT)编译器。

Web platform:对于面向Web的应用程序,Dart包括开发时间编译器(dartdevc)和生产时间编译器(dart2js)。两种编译器都将Dart转换为JavaScript。

 类似资料: