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的目录结构和核心概念。到时候我会分享一些我在实际项目中总结的目录组织经验,保证实用。
对了,如果你在环境搭建中遇到任何问题,欢迎在课程群里交流。我当年踩过的坑,说不定能帮你省下半天时间。