Flutter 的 Web 支援
Flutter 在 Web 上提供與行動裝置相同的體驗。
基於 Dart 的可攜性、Web 平台的強大功能、Flutter 框架的彈性,以及 WebAssembly 的高效能,您可以使用相同的程式碼庫建構 iOS、Android 及瀏覽器上的應用程式。Web 只是您的應用程式的另一個裝置目標。
想快速開始,請參閱使用 Flutter 建立 Web 應用程式。
由 WebAssembly 驅動
#Dart 與 Flutter 可以編譯為 WebAssembly, 這是一種二進位指令格式,可在所有主流瀏覽器上實現高速應用程式。
想了解使用 WebAssembly 的好處, 請觀看下方影片。
Watch on YouTube in a new tab: "What's new in Flutter - WebAssembly"
運作原理
#為 Flutter 增加 Web 支援,涉及將 Flutter 的核心繪圖層實作於標準瀏覽器 API 之上,並將 Dart 編譯為 JavaScript,而非行動應用程式所用的 ARM 機器碼。透過結合 DOM、Canvas 及 WebAssembly,Flutter 能在現代瀏覽器中提供可攜、高品質且高效能的使用者體驗。我們以 Dart 完整實作了核心繪圖層,並利用 Dart 最佳化的 JavaScript 編譯器,將 Flutter 核心、框架及您的應用程式一同編譯為單一、經過壓縮的原始檔,可部署至任何 Web 伺服器。

我可以建立哪些類型的應用程式?
#雖然 Web 上能做的事情很多, 但 Flutter 的 Web 支援在下列情境中最具價值:
- 單頁應用程式(Single Page Application)
- Flutter 的 Web 支援讓複雜且富含圖形與互動內容的獨立網頁應用程式,能夠在各種裝置上觸及終端使用者。
- 既有行動應用程式
- Flutter 的 Web 支援為既有 Flutter 行動應用程式提供基於瀏覽器的發佈模式。
目前並非所有 HTML 情境都完全適合使用 Flutter。例如,內容以文字為主、流程導向、靜態的內容(如部落格文章),更適合 Web 所建構的以文件為中心的模型,而不是像 Flutter 這樣的 UI 框架所提供的以應用程式為中心的服務。不過,您 可以 使用 Flutter 將互動體驗嵌入這些網站中。
開始使用
#以下資源可協助您開始:
- 若要為現有應用程式新增 Web 支援,或建立包含 Web 支援的新應用程式,請參閱 使用 Flutter 建立 Web 應用程式。
- 若要在集中式檔案中設定 Web 開發伺服器設定,請參閱 設定 Web 開發組態檔。
- 若要了解 Flutter 不同的 Web 繪製器(CanvasKit 與 Skwasm),請參閱 Web 繪製器。
- 若要學習如何建立響應式 Flutter 應用程式,請參閱 建立響應式應用程式。
- 若要查看常見問題與解答,請參閱 Web 常見問答。
- 若要查看程式碼範例, 請參考 Flutter 的 Web 範例。
- 若要觀看 Flutter Web 應用程式展示,請參考 Wonderous app。
- 若要了解如何部署 Web 應用程式,請參閱 準備 Web 發佈。
- 如需回報問題,請至 Flutter 主要儲存庫 提出 issue。
- 您也可以在 Discord 的 #help 頻道進行聊天並詢問 Web 相關問題。