Dart 学习笔记(Flutter)

Dart 学习笔记(Flutter)

原创 于 2025-09-23 09:00:15 发布 · 粉丝可见 · 145 阅读 · 0 · 0 GEO检测 · 编辑
文章链接:https://blog.csdn.net/hacker_51/article/details/150966096

概述

Dart 是由Google主导开发的一门面向对象、类 C 语法的现代编程语言,最初于 2011 年亮相,其设计目标是让开发者既能用一套代码库构建高性能的客户端应用,也能在服务器端和命令行场景中高效运行。它采用强类型与类型推断并存的静态类型系统,同时保留了动态语言的便捷性,通过“编译时检查 + 运行时优化”的双重机制,既能在开发阶段捕捉大量错误,又能借助 AOT(Ahead-of-Time)编译产出 接近原生 机器码的 高性能 产物,也支持 JIT(Just-in-Time)编译实现热重载与快速迭代。语言核心内置了丰富且一致的异步模型,基于 Isolate 的并发机制让单线程事件循环与多核并行计算无缝结合,从而在保证 UI 流畅性的同时充分利用硬件资源。随着Flutter框架的兴起, Dart 成为其唯一开发语言,借助自渲染管线 跨平台 彻底抹平了 iOS、Android、Web、桌面以及嵌入式平台的差异,使“一份代码、多端运行”成为现实;而在服务端,Dart VM 与 AOT 编译的二进制同样能提供低延迟、高吞吐的网络服务。简洁的语法、强大的工具链、活跃的社区以及 Google 的持续投入,使 Dart 在跨端与全栈开发领域持续升温,成为当下构建现代化应用不可忽视的语言选择。

资源网站

  • 官网

https://flutter\.dev/

  • Github

https://github\.com/flutter/flutter

  • 中文网

https://flutterchina\.club/
https://flutter\.cn/

环境搭建

基础环境

操作系统: Windows 7/8/10(32-bit or 64-bit)
内存: 最小4 GB,推荐8GB 或更高
硬盘空间: 最小2 GB,推荐 4 GB 或更高
JDK版本: 1.8(** 1.8 版本官方也直接称 8 版本

最好不要下载最新的版本,1.8 版本在 React Native 和 Flutter 中都能使用

搭建Windows下的安卓环境

安装和环境配置 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter

  • JDK

  • Android Studio

安装 Android Studio
安装 Android SDK
安装 Android 模拟器

  • Flutter SDK

直接下载
通过 Git 下载

GitHub - flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond

配置资源镜像

1
PUB_HOSTED_URL="https://pub.flutter-io.cn"
1
FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"

JDK 安装

JDK8 比较稳定合适。

下载地址: Java Downloads | Oracle

安装Android studio

官网下载: https://developer.android.google.cn/studio?hl=zh-cn

配置Flutter命令

将 FlutterSdk 的 bin 目录添加到环境变量中。

检测Flutter

1
flutter doctor

检测 flutter所需的环境条件是否都满足。一般来说,会有一些问题。

我本地运行,有三个问题需要解决(没问题的有一个绿色的对号,有问题的是 叉号X或 感叹号!)

接下来,我们依次解决上述三个问题。

1、[X] Android toolchain - develop for Android devices

给 Flutter 指定 SDK 路径(如果不在默认位置):

1
flutter config --android-sdk "C:\你的路径\Sdk"

接受 Android 许可证:

1
flutter doctor --android-licenses

一路输入 y 回车即可。

如果报错:Android sdkmanager not found. Update to the latest Android SDK and ensure that the cmdline-tools are installed to resolve this.

打开 Android Studio → 右上角 “More Actions” → SDK Manager
或菜单 File →Settings→ Appearance & Behavior → System Settings → Android SDK → SDK Tools

2、Chrome 问题

这是 web 浏览器方面,参考以下方法:

方案 A(最简单):安装官方 Chrome 到默认目录

方案 B(已安装但路径非默认):

  • 在 PowerShell 设置环境变量(只对当前会话生效):

    powershell

  • set CHROME_EXECUTABLE=C:\你的路径\chrome.exe
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25

    - 若要永久生效:
    系统环境变量 → 新建用户变量 `CHROME_EXECUTABLE` ,值填完整路径。



    3Visual Studio \- develop Windows apps

    这个问题是 开发windows桌面应用软件 的工具。看自己需求,可以参考以下方法:



    - 下载安装器: [Visual Studio & VS Code Downloads for Windows, Mac, Linux](https://visualstudio.microsoft.com/downloads/)
    ‑ 选择 “Community 2022”(免费)。

    - 安装向导中勾选:
    “使用 C\+\+ 的桌面开发”
    ‑ 右侧确认勾选:MSVC v143、Windows 10/11 SDK、CMake 工具等(默认即可)。

    - 安装完成后重新打开 PowerShell,运行:

    powershell

    ```undefined
    flutter doctor

应出现 [√] Visual Studio ...

4、Network resources

X An HTTP error occurred while checking “https://github\.com/ “: 信号灯超时时间已到

本质是本地到 GitHub 的 HTTPS 请求超时,国内网络最常见。

  • 使用国内镜像 + 手动配置

  • 环境变量(用户变量)新增两条:

  • FLUTTER_STORAGE_BASE_URL  = https://storage.flutter-io.cn
    PUB_HOSTED_URL            = https://pub.flutter-io.cn
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148



    ## 初始化项目



    - 通过命令行

    \- flutter create myproject

    \- cd myproject

    \- flutter emulators \-\-launch <emulator id>  \# 启动模拟器

    \- flutter run \-d <emulator id>

    - 通过 Android Studio

    \- 必须安装 Flutter 插件

    - 通过VS Code

    \- 必须安装 Flutter 插件

    ## 修改国内镜像

    **修改镜像源只需要改一次,再次启动时,无需再改**

    国内特有的问题,防止启动应用时,访问不到 google 等国外资源

    在运行 flutter 项目之前,需要先修改运行项目必须的资源路径。需要改个文件:

    - Flutter项目/android/build\.gradle

    ### Flutter项目修改镜像

    阿里云镜像详情: [仓库服务](https://maven.aliyun.com/mvn/guide)

    maven \{ url 'https://maven\.aliyun\.com/repository/google'\}

    maven \{ url 'https://maven\.aliyun\.com/repository/jcenter'\}

    maven \{ url 'https://maven\.aliyun\.com/repository/public'\}

    ![](./192_192/192_5.png)

    ## Dart 基础

    ### 概述

    - Dart 是谷歌开发的, **类型安全** 的, **面向对象** 的编程语言,被应用于 **Web、服务器、移动应用和物联网** 等领域。

    - Dart 诞生于 20111010

    - Dart 简单易学\(类似 TypeScript,是强类型的语言\)

    - 运行方式

    - 原生虚拟机\(Dart 代码可以运行在WindowsMacLinux 上\)

    - JavaScript 引|擎 \(Dart 代码可以转成JS 代码,然后运行在浏览器上\)

    ![](./192_192/192_6.png)

    #### Dart 环境搭建

    Flutter 1\.21 版本开始,Flutter SDK 会同时包含完整的 Dart SDK。

    如果你已经安装了 Flutter,就无需再下载 Dart SDK 了。

    ![](./192_192/192_7.png)

    官网介绍: https://dart\.cn/get\-dart

    #### 绑定环境变量



    - 先确定 Flutter SDk 的安装路径

    - 例如:我的 Flutter SDk 安装路径是 D:\flutter

    - D:\flutter\bin

    - FlutterDart 的相关的执行命令

    - D:\flutter\bin\cache\dart\-sdk\bin

    - Dart sDk 的相关命令的执行路径

    - D:\flutter\\.pub\-cache\bin

    - Pub 下载的公共模块的执行路径



    Dart 资源网站



    - 官网

    - 英文 https://dart\.dev/

    - 中文 https://dart\.cn/

    - 在线运行代码

    - https://dartpad\.dartlang\.org/

    - https://dartpad\.cn

    - 生态

    - https://pub\.dev/



    ### 语法基础

    - 注释语法与 JS 一致

    - 声明函数不需要关键字\(JS 中通过 function 关键字来声明函数\)

    - 函数和参数前面都有类型声明,void 表示没有返回值,int 是整型数字

    - 打印使用 print \(Js 使用 console\.log\(\)\)

    - 每行代码结束时,必须写结束分号\(;\)

    - 字符串通过引号包起来,支持模板字符串

    - main 是入口函数,Dart 应用程序总是从 main 函数开始执行

    - 用 var 声明的变量,其数据类型是动态的

    ```Dart
    // 声明函数
    void printInteger(int aNumber){
    print('The number is $aNumber'); // 打印到控制台
    }

    // 入口文件 - 应用从这里开始执行
    void main(){
    var number = 42; // 声明并初始化 一个变量 , var 相当于 任意类型
    printInteger(number); // 调用函数
    }

运行

  • 在命令行中运行

    • dart hello.dart
  • Dart 执行文件中的main 函数```Dart
    // 入口文件 - 应用从这里开始执行
    void main(){
    print(‘Hello,World’)
    }

    
    
  • 输出 Hello, World

注释

  • 单行注释

    • // 我是单行注释
  • 多行注释

    • /* 我是多行注释 */
  • 文档注释

    • ///我是文档注释

    • 可以通过 dartdoc 将注释转成文档(文档注释支持 markdown 语法)

变量

  • 变量是一个引用,Dart 万物皆对象,变量存储的是对象的引用

  • 声明变量

    • 明确指定类型: int age=18;

    • 不明确类型:var age=18;或dynamic age = 18;

  • 变量名大小写敏感(age 与 Age 是两个不同的变量)

  • 变量默认值是 null (」s 中变量默认值是 undefined)

  • Dart 变量的值不会进行隐式转换(null 不会自动转成 false)

常量

  • 常量就是值不可变的变量(一旦声明,其值不能更改)

  • 声明常量

    • const age = 18;

    • final age = 18;

  • 与 final 的区别const

    • const time =DateTime.now();//报错-无法将运行时的值分配给 const 变量

    • final time =DateTime.now();//成功-可以将运行时的值分配给 final 变量


觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭

微信二维码

wechat pay

支付宝二维码

ali pay

Dart 学习笔记(Flutter)
http://blog.angindem.cn/2025/09/23/Angindem-CSDN博客/192_192/
作者
Angindem
发布于
2025年9月23日
许可协议