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 伺服器。

Flutter architecture for web

我可以建立哪些類型的應用程式?

#

雖然 Web 上能做的事情很多, 但 Flutter 的 Web 支援在下列情境中最具價值:

單頁應用程式(Single Page Application)
Flutter 的 Web 支援讓複雜且富含圖形與互動內容的獨立網頁應用程式,能夠在各種裝置上觸及終端使用者。
既有行動應用程式
Flutter 的 Web 支援為既有 Flutter 行動應用程式提供基於瀏覽器的發佈模式。

目前並非所有 HTML 情境都完全適合使用 Flutter。例如,內容以文字為主、流程導向、靜態的內容(如部落格文章),更適合 Web 所建構的以文件為中心的模型,而不是像 Flutter 這樣的 UI 框架所提供的以應用程式為中心的服務。不過,您 可以 使用 Flutter 將互動體驗嵌入這些網站中。

開始使用

#

以下資源可協助您開始: