Flutter桌面支持
关于Flutter对桌面应用支持的通用信息。
Flutter提供编译原生Windows、macOS或Linux桌面应用的支持。Flutter的桌面支持也扩展到插件——您可以安装支持Windows、macOS或Linux平台的现有插件,或者您可以创建自己的插件。
创建新项目
#您可以使用以下步骤创建具有桌面支持的新项目。
设置桌面devtools
#参考您目标桌面环境的指南
如果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插件,第2部分涵盖了联合插件的结构,并包含适用于桌面插件的信息。
- 现代Flutter插件开发涵盖了Flutter插件支持的最新增强功能。
示例
#您可以将以下示例作为桌面应用程序运行,还可以下载和检查源代码以了解有关Flutter桌面支持的更多信息。