Skip to main content

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 桌面应用程序 :一个代码实验室,指导您构建一个将 GitHub GraphQL API 与您的 Flutter 应用集成的桌面应用程序。

您可以将以下示例作为桌面应用运行,也可以下载并检查源代码以了解有关 Flutter 桌面支持的更多信息。

Wonderous 应用 运行应用代码库 :一个展示应用,使用 Flutter 创建高度表达力的用户界面。Wonderous 专注于提供易于访问和高质量的用户体验,同时包含引人入胜的互动和新颖的动画。要将 Wonderous 作为桌面应用运行,请克隆项目并按照README 中提供的说明操作。

Flokk 公告博客文章代码库 :一个与 GitHub 和 Twitter 集成的 Google 联系人管理器。它与您的 Google 帐户同步,导入您的联系人,并允许您管理它们。

照片搜索应用 :一个作为桌面应用程序构建的示例应用程序,它使用支持桌面的插件。