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 将交互式体验嵌入到这些网站中。

开始使用

#

以下资源可以帮助你开始使用: