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 上任何受推薦的聯邦外掛新增新的平臺實現。

有關更多資訊,包括有關受推薦外掛的資訊,請參閱以下資源:

示例和 Codelabs

#
編寫 Flutter 桌面應用程式
一個 Codelab,引導您構建一個桌面應用程式,該應用程式將 GitHub GraphQL API 與您的 Flutter 應用整合。

您可以執行以下示例作為桌面應用,也可以下載並檢查原始碼以詳細瞭解 Flutter 桌面支援。

Wonderous 應用 執行應用倉庫
一個展示應用,它使用 Flutter 建立了一個高度表達的使用者介面。Wonderous 專注於提供無障礙的高質量使用者體驗,同時包含引人入勝的互動和新穎的動畫。要將 Wonderous 作為桌面應用執行,請克隆專案並按照 README 中的說明進行操作。
Flokk 公告部落格倉庫
一個 Google 聯絡人管理器,它集成了 GitHub 和 Twitter。它可以與您的 Google 帳戶同步,匯入您的聯絡人,並允許您管理它們。
照片搜尋應用
一個作為桌面應用程式構建的示例應用程式,它使用了支援桌面的外掛。