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(桌面)、macOS(桌面)或Linux(桌面),然后运行你的应用程序,查看它在桌面上启动。
从命令行
要创建包含桌面支持(以及移动和 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 插件,第 2 部分,介绍了联合插件的结构,并包含适用于桌面插件的信息。
- 现代 Flutter 插件开发 介绍了对 Flutter 插件支持的最新增强功能。
示例和代码实验室
- 编写 Flutter 桌面应用程序
- 一个代码实验室,指导你构建一个桌面应用程序,该应用程序将 GitHub GraphQL API 与你的 Flutter 应用程序集成在一起。
你可以将以下示例作为桌面应用程序运行,还可以下载并检查源代码以了解有关 Flutter 桌面支持的更多信息。