Flutter 以其对 iOS 和 Android 应用程序的跨平台支持而闻名。现在,它已经扩展到更多的平台。我们之前评估过 Flutter for Web — 它允许我们从同一代码库构建适用于 iOS、Android 和浏览器的应用程序。并不是每个网页应用都适合使用 Flutter,但我们认为 Flutter 特别适合诸如 progressive web apps、single-page apps 和将现有 Flutter 移动应用转换为网页的情况。Flutter 已经支持 WebAssembly (WASM) 作为其实验性频道中的编译目标,这意味着它正在积极开发中。最近的版本已使其潜在漏洞和性能风险较为稳定。编译到 WASM 目标的 Flutter 网页应用的性能远超其 JavaScript 编译目标。不同平台上的近原生性能也是许多开发者最初选择 Flutter 的原因之一。
到目前为止,Flutter主要支持iOS和Android原生应用。但是Flutter团队的愿景是让Flutter支持在任何平台上构建应用。 Flutter for Web 朝此方向迈出了一步,让我们能够基于同一代码库构建适用于iOS、Android和浏览器的应用。它的测试版在一年前已处于可用状态,而随着最近Flutter 2.0版本的发布,Flutter for Web迎来了一个稳定的里程碑版本。在此版本中,Flutter团队专注于渐进式Web应用、单页面应用,以及将现有的移动应用扩展到Web平台。它的应用和框架代码(全部基于Dart)也被编译为JavaScript,而非用于移动应用的ARM机器码。 Flutter的Web引擎为我们提供了两种渲染器:使用HTML,CSS,Canvas和SVG的HTML渲染器,以及使用WebAssembly和WebGL将Skia绘制命令展现到浏览器canvas的CanvasKit渲染器。我们有一些团队已经开始使用Flutter for Web,并对试用结果表示满意。