Flutter 在 Web 上可提供與移動裝置上相同的體驗。

透過結合 Dart 的可移植性、Web 平臺的強大功能、Flutter 框架的靈活性以及 WebAssembly 的高效能,您可以使用同一程式碼庫構建面向 iOS、Android 和瀏覽器的應用。Web 只是您應用的另一個裝置目標。

要開始使用,請訪問 使用 Flutter 構建 Web 應用

由 WebAssembly 提供支援

#

Dart 和 Flutter 可以編譯為 WebAssembly,這是一種二進位制指令格式,可在所有主要瀏覽器上實現快速的應用。

要了解使用 WebAssembly 的優勢,請觀看以下影片。

在 YouTube 新標籤頁上觀看:“Flutter WebAssembly 新功能”

工作原理

#

為 Flutter 新增 Web 支援涉及在標準瀏覽器 API 之上實現 Flutter 的核心繪圖層,此外,Dart 會被編譯為 JavaScript,而不是用於移動應用的 ARM 機器碼。透過結合使用 DOM、Canvas 和 WebAssembly,Flutter 可以在現代瀏覽器中提供可移植、高質量且高效能的使用者體驗。我們完全用 Dart 實現的核心繪圖層,並使用 Dart 最佳化的 JavaScript 編譯器將 Flutter 核心和框架以及您的應用程式編譯成單個、最小化的原始檔,可以部署到任何 Web 伺服器。

Flutter architecture for web

我可以構建哪些型別的應用?

#

雖然您可以在 Web 上做很多事情,但 Flutter 的 Web 支援在以下場景中最具價值:

單頁應用
Flutter 的 Web 支援可實現複雜、獨立的 Web 應用,這些應用具有豐富的圖形和互動式內容,可在各種裝置上觸達終端使用者。
現有移動應用
Flutter 的 Web 支援為現有的 Flutter 移動應用提供了一個基於瀏覽器的交付模型。

目前並非所有 HTML 場景都非常適合 Flutter。例如,富文字、流程型、靜態內容(如部落格文章)受益於 Web 所圍繞的以文件為中心的模型,而不是像 Flutter 這樣的 UI 框架可以提供的以應用為中心的服務。但是,您可以使用 Flutter 將互動式體驗嵌入到這些網站中。

開始使用

#

以下資源可以幫助您入門: