内容

Flutter 的 Web 支持

内容

Flutter 的 Web 支持在 Web 上提供与在移动设备上相同的体验。基于 Dart 的可移植性、Web 平台的强大功能和 Flutter 框架的灵活性,您现在可以从同一个代码库构建适用于 iOS、Android 和浏览器的应用。您可以将用 Dart 编写的现有 Flutter 代码编译成 Web 体验,因为它完全是相同的 Flutter 框架,而Web只是您的应用的另一个设备目标。

Flutter architecture for web

为 Flutter 添加 Web 支持涉及在标准浏览器 API 之上实现 Flutter 的核心绘图层,此外还要将 Dart 编译为 JavaScript,而不是用于移动应用程序的 ARM 机器代码。通过结合使用 DOM、Canvas 和 WebAssembly,Flutter 可以跨现代浏览器提供可移植、高质量且高性能的用户体验。我们完全用 Dart 实现核心绘图层,并使用 Dart 的优化 JavaScript 编译器将 Flutter 核心和框架与您的应用程序一起编译成单个缩小的源文件,该文件可以部署到任何 Web 服务器。

虽然您可以在 Web 上做很多事情,但 Flutter 的 Web 支持在以下情况下最有价值

使用 Flutter 构建的渐进式 Web 应用程序
Flutter 提供高质量的 PWA,这些 PWA 与用户的环境集成,包括安装、离线支持和定制的 UX。
单页应用程序
Flutter 的网络支持能够实现复杂的独立网络应用,这些应用包含丰富的图形和交互式内容,可供各种设备上的最终用户使用。
现有的移动应用
Flutter 的网络支持为现有的 Flutter 移动应用提供基于浏览器的交付模式。

目前,并非所有 HTML 场景都非常适合 Flutter。例如,以文本为主、基于流的静态内容(如博客文章)受益于以文档为中心的模型,这是网络构建的基础,而不是像 Flutter 这样的 UI 框架可以提供的以应用为中心的服。但是,你可以使用 Flutter 将交互式体验嵌入到这些网站中。

要了解如何将你的移动应用迁移到网络,请观看以下视频

资源

以下资源可以帮助你入门