1、Flutter桌面端开发入门:Flutter发展史、Flutter桌面端应用场景、Flutter开发环境搭建(macOS/Windows/Linux)

各位同学,欢迎来到《Flutter桌面端应用开发实战》的第一课。

说实话,我刚开始接触Flutter的时候,它还是个移动端的小众框架。谁能想到,短短几年时间,它已经能跟原生桌面应用掰手腕了。今天这一章,咱们不急着写代码,先聊聊Flutter的来龙去脉,看看它到底能做什么,最后再把开发环境搭起来。

1.1 Flutter发展史:从移动端到桌面端的跨越

Flutter是Google在2015年推出的一个UI工具包。我印象很深,2017年Flutter 1.0发布时,大家还觉得它只是个「移动端玩具」。但到了2021年,Flutter 2.0正式宣布支持桌面端——Windows、macOS、Linux全平台覆盖。嗯,这里有个关键节点:Flutter 3.0在2022年稳定了桌面端支持,从那以后,我就在项目中开始尝试用它做桌面工具了。

为什么会从移动端扩展到桌面端?说白了,Google想解决一个老问题:一套代码跑多个平台。你想想看,以前做个桌面应用,Windows用C#,macOS用Swift,Linux用GTK,维护三套代码简直要命。Flutter用Dart语言和自绘引擎Skia,直接绕过了平台原生控件,自己画界面。这样一来,跨平台就成了顺理成章的事。

核心里程碑:

  • 2015年:Flutter诞生,定位移动端UI框架
  • 2017年:Flutter 1.0发布,支持iOS和Android
  • 2021年:Flutter 2.0宣布桌面端支持(beta)
  • 2022年:Flutter 3.0稳定桌面端,Windows/macOS/Linux全平台可用
  • 2023年至今:桌面端性能持续优化,插件生态成熟

我在2022年用Flutter做了一个内部数据看板工具,当时还担心性能问题。结果跑下来,跟原生Electron应用比,内存占用少了将近一半。从那以后,我对Flutter桌面端就彻底放心了。

1.2 Flutter桌面端应用场景:哪些项目适合用?

不是所有桌面应用都适合Flutter。我个人习惯把场景分成三类:

场景类型 推荐度 典型例子
工具类应用 ★★★★★ 代码编辑器、笔记软件、数据看板
企业级管理后台 ★★★★☆ CRM系统、报表工具、配置面板
多媒体/游戏 ★★★☆☆ 简单播放器、2D小游戏
高性能图形应用 ★★☆☆☆ 3D建模、视频剪辑

说白了,如果你的应用主要是「界面+数据交互」,Flutter桌面端完全够用。但如果你要做Photoshop那种级别的图形处理,还是老老实实用原生吧。我曾经试过用Flutter做一个小型图像编辑器,渲染性能确实不如C++写的原生应用。

我的建议:团队如果已经有Flutter移动端经验,做桌面端几乎是零成本迁移。我带的项目里,一个移动端页面改造成桌面端,平均只花了20%的时间。

1.3 Flutter开发环境搭建(macOS/Windows/Linux)

环境搭建这块,我踩过不少坑。尤其是Windows上配置Android Studio那一步,曾经卡了我一下午。咱们一步步来。

1.3.1 系统要求

先看看你的电脑能不能跑:

操作系统 最低配置 推荐配置
macOS macOS 10.14+, 4GB RAM macOS 12+, 16GB RAM, SSD
Windows Windows 10 64-bit, 4GB RAM Windows 11, 16GB RAM, SSD
Linux Ubuntu 18.04+, 4GB RAM Ubuntu 22.04+, 16GB RAM

1.3.2 安装Flutter SDK

这是最核心的一步。我习惯用命令行安装,干净利落。

macOS:

# 下载Flutter SDK(建议用git clone,方便更新)
git clone https://github.com/flutter/flutter.git -b stable
# 添加到PATH(以zsh为例)
echo 'export PATH="$PATH:`pwd`/flutter/bin"' >> ~/.zshrc
source ~/.zshrc
# 验证安装
flutter doctor

Windows:

# 下载zip包(推荐从官网下载)
# 解压到 C:\flutter
# 添加环境变量:C:\flutter\bin 到 PATH
# 打开PowerShell验证
flutter doctor

Linux:

# 下载tar包
wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.13.9-stable.tar.xz
tar xf flutter_linux_3.13.9-stable.tar.xz
# 添加到PATH
echo 'export PATH="$PATH:~/flutter/bin"' >> ~/.bashrc
source ~/.bashrc
flutter doctor

注意:我曾经在Windows上遇到一个坑——flutter doctor提示找不到Android SDK。原因是环境变量没配好。解决办法是手动设置ANDROID_HOME变量,指向你的Android SDK路径。

1.3.3 安装IDE和插件

我个人推荐VS Code,轻量又好用。当然Android Studio也行,看个人习惯。

  • VS Code:安装Flutter和Dart插件,直接在扩展商店搜就行
  • Android Studio:安装Flutter插件(会自动安装Dart插件)
  • IntelliJ IDEA:同样安装Flutter插件

安装完后,运行 flutter doctor 检查一下。理想状态下,所有项都应该是绿色勾。如果有红色叉号,别慌,看提示修复就行。我遇到过最多的问题是「Android licenses not accepted」,运行 flutter doctor --android-licenses 就能解决。

1.3.4 创建第一个桌面端项目

环境搭好了,咱们来验证一下:

# 创建项目
flutter create my_desktop_app
# 进入目录
cd my_desktop_app
# 添加桌面端支持(Flutter 3.0+默认已支持)
flutter config --enable-windows-desktop
flutter config --enable-macos-desktop
flutter config --enable-linux-desktop
# 运行(以macOS为例)
flutter run -d macos

如果一切顺利,你会看到一个默认的计数器应用窗口。嗯,到这里,你的Flutter桌面端开发环境就搭好了。

小技巧:第一次运行 flutter run -d macos 可能会比较慢,因为要编译原生代码。之后增量编译就快多了。我一般用 flutter run --release 来测试最终性能。

1.4 本章小结

这一章咱们聊了Flutter从移动端到桌面端的进化史,分析了哪些场景适合用Flutter做桌面应用,最后把开发环境搭了起来。说白了,Flutter桌面端已经足够成熟,值得你投入时间学习。

下一章,咱们会真正开始写代码——创建一个完整的桌面端应用,并理解Flutter的目录结构和核心概念。到时候我会分享一些我在实际项目中总结的目录组织经验,保证实用。

对了,如果你在环境搭建中遇到任何问题,欢迎在课程群里交流。我当年踩过的坑,说不定能帮你省下半天时间。