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 会像处理其他平台一样,自动将必要的原生代码添加到您的项目中。
编写插件
#当您开始构建自己的插件时,您会想要考虑“联邦制”。联邦制是指能够定义多个不同的包,每个包针对不同的平台集,并将它们整合到一个插件中,以便开发者更容易使用。例如,url_launcher
的 Windows 实现实际上是 url_launcher_windows
,但 Flutter 开发者只需将 url_launcher
包作为依赖项添加到其 pubspec.yaml
中,构建过程就会根据目标平台拉取正确的实现。联邦制很方便,因为不同专业技能的团队可以为不同的平台构建插件实现。只要您与原始插件作者协调,就可以向 pub.dev 上任何受推荐的联邦插件添加新的平台实现。
有关更多信息,包括有关受推荐插件的信息,请参阅以下资源:
- 开发包和插件,特别是 联邦插件 部分。
- 如何编写 Flutter Web 插件,第二部分,介绍了联邦插件的结构,并包含适用于桌面插件的信息。
- 现代 Flutter 插件开发 涵盖了 Flutter 插件支持的最新增强功能。
示例和 Codelabs
#- 编写 Flutter 桌面应用程序
- 一个 Codelab,引导您构建一个桌面应用程序,该应用程序将 GitHub GraphQL API 与您的 Flutter 应用集成。
您可以运行以下示例作为桌面应用,也可以下载并检查源代码以详细了解 Flutter 桌面支持。