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 开发人员只需将其 pubspec.yaml
中的 url_launcher
软件包添加为依赖项,构建过程就会根据目标平台引入正确的实现。联合非常方便,因为不同的团队可以根据其不同的专业知识为不同的平台构建插件实现。只要您与原始插件作者协调此工作,您就可以向 pub.dev 上任何已认可的联合插件添加新的平台实现。
有关更多信息,包括有关已认可插件的信息,请参阅以下资源
- 开发软件包和插件,尤其是联合插件部分。
- 如何编写 Flutter Web 插件,第二部分,涵盖了联合插件的结构,并包含适用于桌面插件的信息。
- 现代 Flutter 插件开发涵盖了 Flutter 插件支持的最新增强功能。
示例和 Codelabs
#- 编写 Flutter 桌面应用程序
- 一个 Codelab,指导您构建一个将 GitHub GraphQL API 集成到 Flutter 应用程序中的桌面应用程序。
您可以将以下示例作为桌面应用程序运行,还可以下载并检查源代码以了解有关 Flutter 桌面支持的更多信息。
- Wonderous 应用程序 正在运行的应用程序,代码库
- 一个展示应用程序,使用 Flutter 创建高度表达力的用户界面。Wonderous 专注于提供易访问且高质量的用户体验,同时包含引人入胜的交互和新颖的动画。要将 Wonderous 作为桌面应用程序运行,请克隆项目并按照自述文件中提供的说明操作。
- Flokk 公告博客文章,代码库
- 一个 Google 联系人管理器,集成了 GitHub 和 Twitter。它与您的 Google 帐户同步,导入您的联系人,并允许您管理它们。
- 照片搜索应用程序
- 一个作为桌面应用程序构建的示例应用程序,它使用了桌面支持的插件。
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面上次更新于 2024-04-04。 查看源代码 或 报告问题。