Dart是一种针对客户优化的语言,亦可在任何平台上快速开发的应用陈旭。
目标是为多平台开发提供最高效的变成语言,并为应用程序框架搭配了领会的运行时执行平台。
Dart特点
Dart语言
- 类型安全,使用静态型检查来确保变量的值 始终与变量的静态类型相匹配
- 健全的空值安全,只有声明值可以为空,值才可以为空
Dart库
-
为每个 Dart 程序提供的内置类型,集合与其他核心功能 (dart:core)
-
更丰富的集合类型,诸如队列、链接列表、哈希图和二叉树 (dart:collection)
-
用于在不同的数据表示形式之间进行转换编码器和解码器,包括 JSON 和 UTF-8 (dart:convert)
-
数学常数和函数,以及随机数生成 (dart:math)
-
为非 Web 应用程序提供的文件、套接字、HTTP 和其他 I/O 支持 (dart:io)
-
异步编程支持,比如 Future 和 Stream 类 (dart:async)
-
能够有效处理固定大小的数据(例如,无符号的 8 字节整数)和 SIMD 数字类型的列表 (dart:typed_data)
-
用于提供 C 语言风格代码互通性支持的外部函数接口 (dart:ffi)
-
使用 isolates 的并发编程 — 这些独立的工作程序与线程相似但它们不共享内存并仅通过消息进行通信 (dart:isolate)
-
基于 Web 的应用程序中需要与浏览器和文档对象模型 (DOM) 交互的 HTML 元素和其他资源 (dart:html)
除了核心库,Dart还通过一整套软件包提供了许多API。Dart团队发布了许多有用的补充包,
Dart平台
Dart的编译器技术可让您以不同方式运行代码
- 原生平台:针对面向移动和桌面设备的应用程序,Dart拥有具有实时(JIT)编译功能的DartVM和用于生成机器代码的提前(AOT)编译器
-
Web平台:Dart可用于编译开发和生产阶段的面向Web的应用,它的Web编译器可将Dart转换为JavaScript
Flutter 框架 是一款流行的多平台 UI 工具包,由 Dart 语言强力驱动,提供一套工具和 UI 库,帮助开发者们在 iOS、Android、macOS、Windows、Linux 和 Web 平台构建优秀的 UI 体验。
原生平台的 Dart (JIT 和 AOT 机器码)
在开发过程中,快速的开发周期对于迭代至关重要。 Dart VM 提供了一个实时编译器 (JIT),编译器拥有增量重编译功能 (支持热重载)、运行数据收集(用于驱动 DevTools)以及丰富的开发调试支持。
当应用程序可以部署到生产环境时 (无论是发布到应用商店还是部署到生产后端), Dart AOT 编译器可以编译成原生的 ARM 或 x64 的机器码。经过 AOT 编译的应用程序将稳定快速地启动。
经过 AOT 编译的代码会在高效的 Dart 运行环境中运行,该运行环境拥有健全的 Dart 类型系统,并使用快速对象分配和 分代垃圾收集器 来管理内存。