跳到主要内容

移动端支持 Mobile support

本文介绍了 Flet 在移动端的愿景并提供了一个路线图。

服务器驱动的用户界面

Flet 是一个服务器驱动的用户界面(Server-Driven UI,SDUI)框架。SDUI 是一项新兴技术,可在 Technology Radar 帖子 中找到最佳描述方式:

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

DoorDashAirbnbLyft 等公司已经成功地在其移动应用程序中实施了服务器驱动的用户界面,以缩短上市时间。

Flet 的实现方法

Flet 打算采用服务器驱动的用户界面方法,其中在服务器上运行以 Python 或其他语言编写的程序,只将一个薄客户端(要么以独立的 Flutter 应用程序(.apk 或 .ipa 软件包)形式,发布到应用商店,要么作为另一个应用程序的一部分的 Flutter 小部件)传递到移动设备上:

一旦 SDUI 体验准备就绪,我们将开始开发一个独立移动软件包

路线图

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

用于 Flutter 的 Flet 小部件

我们要做的第一步是将 Flet 客户端分离为一个 Flutter 小部件,并在 https://pub.dev 上发布该软件包。 移动开发人员可以将 Flet 小部件集成到现有或新的 Flutter 应用程序中,以使核心应用程序功能得以添加动态的服务器驱动的用户界面体验。还可以创建带有单个 Flet 小部件的新的 Flutter 应用程序,专门用于托管完整的 Flet 应用程序。

开发人员将按照 Flutter 指南打包、签名和分发他们的应用程序到 AndroidiOSLinuxmacOSWindows 平台。

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

iOS 和 Android 的 Flet Studio

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

白标 Flet 移动应用

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

Flet 应用的独立移动软件包

我们将调查并开发一个原型,将 Flet 框架、用户程序、语言运行时和所有依赖项打包到一个独立的移动软件包(.apk 或 .ipa 软件包)中,因此 Flet 程序不需要 Web 服务器。

将 Flet 嵌入原生应用程序

我们将提供一份指南、样例应用程序和 CI 流水线,以使用 Flutter Add-to-App 功能将 Flet 小部件集成到现有的原生 Android 和 iOS 应用程序中。Put Flutter to work 文章给出了一个实际示例,介绍了如何将 Flutter 集成到现有的移动应用程序中。