Skip to content

Dart 简介

什么是 Dart?

Dart 是由 Google 开发的客户端优化编程语言,用于在任何平台上构建快速应用程序。它专注于以下方面:

  • UI 开发:构建美观、响应式的用户界面
  • 跨平台:一次编写,在移动端、Web 和桌面运行
  • 生产力:热重载、丰富的标准库和优秀的工具链
  • 性能:生产环境使用 AOT(提前编译),开发环境使用 JIT(即时编译)

历史与演进

  • 2011 年:Google 在 GOTO 大会上发布 Dart
  • 2013 年:Dart 1.0 发布
  • 2018 年:Dart 2.0 引入强类型系统
  • 2020 年:Dart 2.12 引入健全的空安全
  • 2023 年至今:随着 Flutter 的增长持续改进

核心特性

1. 面向对象

Dart 是纯面向对象语言,一切皆对象,包括数字、函数,甚至 null

2. 强类型系统

Dart 使用静态类型检查和类型推断,在编译时捕获错误,同时保持代码简洁。

3. 空安全

健全的空安全机制防止空引用错误,这是最常见的编程错误之一。

4. 异步编程

内置的 async/await 支持使异步操作处理变得优雅且易读。

5. 丰富的标准库

为集合、I/O、数学等常见任务提供全面的库集合。

6. 优秀的工具链

  • DartPad:在线编辑器,用于快速实验
  • Dart DevTools:调试和性能分析
  • 包管理器:pub.dev 用于共享和使用包

Dart 与 Flutter

虽然 Dart 可用于各种应用程序,但它通过 Flutter(Google 的 UI 工具包,用于构建原生编译应用程序)获得了巨大的流行度。Flutter 专门使用 Dart,使得 Dart 知识对 Flutter 开发者至关重要。

安装

安装 Dart SDK

Windows:

bash
choco install dart-sdk

macOS:

bash
brew tap dart-lang/dart
brew install dart

Linux:

bash
sudo apt-get update
sudo apt-get install apt-transport-https
wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg
echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list
sudo apt-get update
sudo apt-get install dart

验证安装

bash
dart --version

你的第一个 Dart 程序

创建一个名为 hello.dart 的文件:

dart
void main() {
  print('你好,Dart!');
}

运行它:

bash
dart run hello.dart

输出:

你好,Dart!

开发环境

推荐的 IDE

  1. Visual Studio Code

    • 安装 "Dart" 扩展
    • 轻量且快速
  2. Android Studio / IntelliJ IDEA

    • 安装 "Dart" 插件
    • 功能齐全的 IDE,具有出色的调试功能
  3. DartPad(在线)

    • 访问 dartpad.dev
    • 无需安装
    • 非常适合学习和分享代码

Dart 执行模式

1. JIT(即时编译)

  • 开发期间使用
  • 支持热重载
  • 更快的开发周期

2. AOT(提前编译)

  • 生产环境使用
  • 编译为原生机器码
  • 更好的性能和更快的启动速度

基本程序结构

dart
// 导入语句
import 'dart:math';

// 顶级变量
const String appName = '我的应用';

// 顶级函数
void greet(String name) {
  print('你好,$name!');
}

// 主入口点
void main() {
  greet('世界');
  print('随机数:${Random().nextInt(100)}');
}

注释

dart
// 单行注释

/*
  多行注释
  可以跨越多行
*/

/// 文档注释
/// 用于生成 API 文档
void documentedFunction() {
  // 函数体
}

下一步

现在你已经了解了 Dart 是什么并完成了安装,让我们深入了解基础知识:

祝编码愉快!🎯