Flutter 桌面端支持
关于 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。
在 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 上的任何已认证的联邦插件添加新的平台实现。
欲了解更多信息(包括关于已认证插件的信息),请参阅以下资源:
- 开发包和插件,特别是联邦插件 (Federated plugins) 部分。
- 如何编写 Flutter Web 插件(第 2 部分),涵盖了联邦插件的结构,并包含适用于桌面端插件的信息。
- 现代 Flutter 插件开发 涵盖了近期 Flutter 插件支持的增强功能。
示例
#你可以运行以下示例作为桌面应用,也可以下载并查看源代码,以深入了解 Flutter 桌面端支持。