Flutter 桌面支持
Flutter 支持编译原生的 Windows、macOS 或 Linux 桌面应用。Flutter 的桌面支持也延伸到插件——你可以安装支持 Windows、macOS 或 Linux 平台的现有插件,也可以创建自己的插件。
创建新项目
#你可以使用以下步骤创建支持桌面端的新项目。
设置桌面开发工具
#查阅目标桌面环境的指南
如果 flutter doctor
发现你不希望为其开发的平台存在问题或缺少组件,你可以忽略这些警告。或者,你可以使用 flutter config
命令完全禁用该平台,例如
flutter config --no-enable-ios
其他可用标志
--no-enable-windows-desktop
--no-enable-linux-desktop
--no-enable-macos-desktop
--no-enable-web
--no-enable-android
--no-enable-ios
启用桌面支持后,请重启你的 IDE,以便它能检测到新设备。
创建并运行
#创建支持桌面端的新项目与 创建新的 Flutter 项目 用于其他平台没有区别。
配置好桌面支持环境后,你可以在 IDE 中或通过命令行创建并运行桌面应用程序。
使用 IDE
#配置好桌面支持环境后,如果 IDE 正在运行,请务必重启它。
在你的 IDE 中创建一个新应用,它会自动为你的应用创建 iOS、Android、Web 和桌面版本。从设备下拉菜单中,选择 windows (desktop)、macOS (desktop) 或 linux (desktop) 并运行你的应用程序,即可在桌面上看到它启动。
通过命令行
#要创建一个包含桌面支持(以及移动和 Web 支持)的新应用程序,请运行以下命令,将 my_app
替换为你的项目名称
flutter create my_app
cd my_app
要从命令行启动你的应用程序,请在包的顶部输入以下命令之一
C:\> flutter run -d windows
flutter run -d macos
flutter run -d linux
构建发布应用
#要生成发布版本,请运行以下命令之一
PS C:\> flutter build windows
flutter build macos
flutter build linux
为现有 Flutter 应用添加桌面支持
#要为现有 Flutter 项目添加桌面支持,请在项目根目录的终端中运行以下命令
flutter create --platforms=windows,macos,linux .
这会将必要的桌面文件和目录添加到你现有的 Flutter 项目中。如果只想添加特定的桌面平台,请更改 platforms
列表,仅包含你想要添加的平台。
插件支持
#桌面版 Flutter 支持使用和创建插件。要使用支持桌面的插件,请遵循 使用包 中关于插件的步骤。与任何其他平台一样,Flutter 会自动将必要的原生代码添加到你的项目中。
编写插件
#当你开始构建自己的插件时,会希望考虑到联合 (federation)。联合是指能够定义多个不同的包,每个包针对不同的平台集,然后将它们组合成一个单一的插件,以便开发人员轻松使用。例如,url_launcher
的 Windows 实现实际上是 url_launcher_windows
,但 Flutter 开发人员只需将 url_launcher
包作为依赖项添加到他们的 pubspec.yaml
中,构建过程就会根据目标平台拉取正确的实现。联合非常方便,因为具有不同专业知识的不同团队可以为不同平台构建插件实现。只要你与原始插件作者协调,就可以向 pub.dev 上的任何认可的联合插件添加新的平台实现。
有关更多信息,包括关于认可插件的信息,请参阅以下资源
- 开发包和插件,特别是联合插件部分。
- 如何编写 Flutter Web 插件,第二部分,涵盖了联合插件的结构,并包含适用于桌面插件的信息。
- 现代 Flutter 插件开发 涵盖了 Flutter 插件支持的最新增强功能。
示例和 Codelab
#- 编写 Flutter 桌面应用程序
- 一个 codelab,指导你构建一个将 GitHub GraphQL API 与你的 Flutter 应用集成的桌面应用程序。
你可以将以下示例作为桌面应用运行,也可以下载并检查源代码以了解更多 Flutter 桌面支持的信息。