跳到主要内容

移动支持

本文涵盖了 Flet 的移动支持愿景,并提供了路线图。

服务器驱动的用户界面

Flet 是一个服务器驱动的用户界面(SDUI)框架。SDUI 是一种新兴技术,详细描述在 Technology Radar 文章 中:

服务器驱动的用户界面将渲染分离到移动应用程序中的通用容器中,而每个视图的结构和数据由服务器提供。这意味着以前需要应用商店回合的更改现在可以通过服务器响应的简单更改来实现。

像 DoorDash、Airbnb、Lyft 等公司已经成功地在他们的移动应用程序中实施了服务器驱动的用户界面,以减少上市时间。

Flet 方法

Flet 将实施服务器驱动的用户界面方法,其中 Python 或其他语言编写的程序在服务器上运行,而只有一个薄客户端 -Either 独立的 Flutter 应用程序(.apk.ipa 包)在应用商店中或作为其他应用程序的一部分的 Flutter 小部件 - 被交付到移动设备:

一旦 SDUI 体验准备好了,我们将开始工作在独立的移动包中(#独立的移动包 for Flet 应用程序)。

路线图

为了提供 Flet 应用程序在移动平台上的最佳体验,我们计划在今年年底之前发布以下项目:

Flet 小部件 for Flutter

我们将首先将 Flet 客户端分离成一个 Flutter 小部件,并在 https://pub.dev 发布该包。然后,移动开发者可以将 Flet 小部件集成到现有的或新的 Flutter 应用程序中,以添加动态服务器驱动的用户界面体验到核心应用程序功能中。也可以创建一个新的 Flutter 应用程序,仅用于托管完整的 Flet 应用程序。

开发者将遵循 Flutter 指南来打包、签名和分发他们的应用程序到 AndroidiOSLinuxmacOSWindows 平台。

Flet 团队将提供示例 CI 流水线来自动化 Flutter 应用程序的打包、签名和发布。

Flet Studio for iOS and Android

下一步是独立的 "Flet Studio" 应用程序(名称不确定)在 App Store 和 Google Play 中,用于 "测试使用 Flet 框架开发的移动体验"。开发者或测试者将能够在 Flet Studio 中 "注册"他们的托管 Flet 应用程序 URL,并立即看到它在移动设备上的性能。

白标签 Flet 移动应用程序

我们将提供指南和 CI 流水线,以自动发布白标签 Flet 应用程序到用户的 App Store 或 Google Play 帐户中。该应用程序将被 "固定" 到特定的应用程序 URL,并可以额外捆绑应用程序资产(媒体、字体)以最小化网络使用。

独立的移动包 for Flet 应用程序

我们将研究将 Flet 框架、用户程序、语言 runtime 和所有依赖项捆绑到独立的移动包(.apk.ipa 包)中,以便 Flet 程序不需要 web 服务器。

将 Flet 嵌入到原生应用程序中

我们将提供指南、示例应用程序和 CI 流水线,以将 Flet 小部件集成到现有的原生 Android 和 iOS 应用程序(不使用 Flutter 开发)中,使用 Flutter Add-to-App 功能。Put Flutter to work 文章提供了一个真实世界的示例,展示了如何将 Flutter 集成到现有的移动应用程序中。