[TS-001] Flutter 开发环境搭建思路

大家好,这里是优雅实践实验室,这一节将介绍如何搭建 Flutter 开发环境。

Flutter 开发环境是由什么组成的

eplab 只提供思路,不会手把手教学。

所以从思路出发。当提及配置 Flutter 开发环境的时候,我们到底在配置什么?

Architectural
diagram

由 Flutter 的设计可知,Flutter 是编译后嵌入到目标平台的。

所以我们需要同时具备 Flutter 开发环境和目标平台的开发环境。

  • Flutter 开发环境
    • Flutter SDK
      • dart SDK
      • pub 命令
    • IDE + Flutter 插件
    • git 等环境杂项
  • 目标平台的开发环境(按须配置)
    • 目标平台 SDK
    • 目标平台的模拟器(可选)

Flutter 开发环境 需要配置基础的 Flutter SDK、IDE 及其插件、和一些杂项开发环境。

目标平台环境需要选择要开发调试的目标,配置相应的目标平台的 SDK 和运行程序的模拟器。

Flutter 开发环境介绍

Flutter SDK

Flutter 是 UI 框架,而 Dart 是 Flutter 框架使用的编程语言。

而 Pub 命令是用于安装依赖的命令行程序。(pub 的作用类似前端的 npm。)

当你安装了 Flutter SDK ,也就同时安装上了 Dart 环境和 pub 命令行程序。

🚫
Dart 的版本号是和 Flutter 的版本匹配的,在不熟悉的情况下,请勿自行安装 Dart SDK.
💡
一般的,Flutter 的 SDK 使用 git 命令来进行升级和切换。也可以借助 fvm 工具管理,这里暂不介绍。

IDE 和 Flutter 插件

为了让你 IDE 支持 Flutter 项目的创建、调试、开发等功能,需要在各自的插件拓展中安装 Flutter 插件。

当然,vscode 中的插件会更丰富,因此较好的推荐的是,使用 vscode 进行编码;

仅在特殊的性能调试、内存调试等情况下,使用更为专业的 Android Studio 或者 Xcode.

顺带一提,vscode 安装后,可以直接通过 vscode 辅助安装 Flutter SDK 环境。

目标平台环境介绍

集成开发套件 SDK

平台 目标平台 SDK IDE 许可证
Android Java SDK + Gradle + Android envir Android Studio flutter doctor --android-licenses
iOS CocoaPods Xcode sudo xcodebuild -license
Web
Windows Desktop development with C++ (vs options) Visual Studio
MacOS CocoaPods Xcode sudo softwareupdate --install-rosetta --agree-to-license
Linux clang, cmake, ninja-build, pkg-config, libgtk-3-dev, libstdc++-12-dev

除了安装 Flutter SDK,对于不同的平台端,仍然需要单独配置,目标平台对应的工具,如上表所示。

其中 IDE 部分是必须安装的开发工具,因为我们需要使用这些 IDE 配置左侧的目标平台 SDK,跟着文档一步一步的完成,一般不会出问题。

许可证是不同目标平台需要同意的开发协议,如果没有配置运行这些命令行,可能会在最后 flutter doctor 中出现 [!] 的黄色感叹号提示。

模拟器

最后是模拟器配置,但事实上模拟器中可能出现一些运行时 bug,为了避免无意义的错误信息,最好使用真机调试。


接下来简单的过一遍文档的使用。

网络环境正常的情况下

在网络环境正常的情况下。打开 Flutter 官方文档。

根据你使用的平台,选择对应的操作系统。

Choose your development platform to get started
Install Flutter and get started. Downloads available for Windows, macOS, Linux, and ChromeOS operating systems.
选择你的开发平台,开始使用
Flutter安装和上手起步教程, 下载 Windows、macOS、Linux 和 ChromeOS 系统的 Flutter SDK。

之后根据你需要调试的目标平台,选择对应的选项。

之后你会获得一份非常长的文档,但是没有关系,一步一步的走就可以了。

网络不好的情况

在中国网络环境下使用 Flutter
如何中国使用、访问和了解 Flutter。

但由于一些因素,国内网络环境下可能会无法访问一些仓库地址。

所以 Flutter 社区为中国开发者提供了特殊的环境配置介绍。

就像 npm 需要配置国内源一样。

这里需要配置两个环境变量,来开启对 pub 命令的国内镜像使用:PUB_HOSTED_URL、FLUTTER_STORAGE_BASE_URL。

其中 Flutter SDK 国内镜像的下载,也在文档中提供了使用方法。

Android Gradle

另一个常见的问题是:

Flutter 的开发环境已经搭建完成了,可以运行 Web 项目了。但是安卓端的编译却异常缓慢。

事实上你还需要解决目标平台的 SDK 在国内访问的镜像问题,例如在 Android 开发中需要解决 Gradle 镜像配置。

而这些就当作课后练习题去自己结合搜索引擎解决吧。

测试配置的环境

在终端使用 flutter doctor ,即可对 Flutter 的环境进行检测。

当左侧全部打勾,即证明环境没有任何问题。

虽然也可能和我的情况一样存在一些小异常,特别是最后三项和网络相关的配置,Don't warry,不影响使用。

那就开始第一个 Flutter 的 Hello World 吧。在终端中输入以下命令行:

flutter create counter
cd counter
flutter run

当屏幕上显示出计数器程序的时候,恭喜你完成了环境搭建。

最后

最后,eplab 不会手把手教授所有知识。

知识是会过期的,视频也会过期,只有官方文档——作为第一手资料是绝对可靠的。

因此之后的视频也会以这样的节奏,快速提炼重点。

仅在疑问较多的问题上,单独补充解答。

就是这样,更多视频相关的 链接、资料、逐字稿,请访问 https://eplab.top/tag/ts.

Read more

[TS-999] Flutter 介绍

这个视频核心目的是扫盲,解答一些常见的 Flutter 相关的问题。 Flutter 跨平台开发支持哪些平台? 一般情况下说的是:生成产物可以运行在哪些平台,官方支持的是六大平台:Android、iOS、MacOS、Linux、Windows、Web。 开发平台支持使用四大平台:MacOS、Linux、Windows、ChromeOS。 容易被忽略的是 Flutter 是一个优秀的开源项目,良好的分层架构和可移植的 Dart 语言,让它本身就支持编译到任意一个嵌入式设备中,比如和丰田合作的车载系统、腾讯曾出过一个打印机系统、开源鸿蒙系统。 Flutter 是否支持鸿蒙开发? 正如上所示,Flutter 天生支持任何嵌入式设备开发,鸿蒙本质也是嵌入式设备。所以就技术本身而言,Flutter 是支持鸿蒙的。 就细而论,开源鸿蒙、鸿蒙Next、用户手上的鸿蒙,是否都可以用 Flutter 开发呢?还是那句话,技术本身是支持的,无论鸿蒙怎么变化。 Flutter

By lilua

[TS-000] Flutter 教学视频逐字稿介绍

这是优雅实践实验室产出视频之前的需要提前准备好的逐字稿脚本(Transcript),将会记录所有收集到的文档资料、代码片段、旁白台词和最终产出的视频。 💡注意:视频内容可能会过期,但是逐字稿会更新,在必要的时候重置当期对应的教学视频。 色彩搭配 主色 #042B59 #0553B1 #027DFD 辅色 #F25D50 #FFF275 #6200EE #1CDAC5 搭配方法 使用 Material Design 的配色,将主色和辅色两两搭配,得到一套主题,并遵循配色规范使用主题色卡。

By lilua

[QS-000] 快速上手系列介绍

本系列将给出一套完整、规范、无副作用的教程,旨在新手入门 Flutter 开发时更加轻松并减少出错,提高基础的编码门槛。 目标群体: 1. 被迫入门 Flutter,需要快速学习和实践; 2. 想学习 Flutter 的国内开发者,由于没有工具,导致无法从官方文档直接入手; 3. 想学习某一门技术,希望学习的不是鱼,而是渔,同样也可以从这个系列中快速举一反三。 为了达成目的,本教程将做到: 1. 对基础扫盲,构建基础的知识树,并在提问的时候可以合理的组织语言; 2. 提供某些疑点难点的解析,或者是来自外部的教程; 3. 给出泛用的学习方法,并确保在学习任何新技术的时候也适用; 本教程免责声明: 1. 基础的手机、电脑操作,不是本系列需要扫盲的,但会介绍 USB 调试开发; 2. 上网工具,不作为本系列的重点,但会介绍只使用镜像去开发的方法; 3. 基础的语法教程,不作为本系列的重点,

By lilua