Flet 移动战略
Flet 项目最近受到了很多关注,我们要感谢所有尝试 Flet 并在社区中传播它的开发者!你们的支持激励我们以更快的步伐推动 Flet 项目向前发展!
新的 Flet 开发者经常问是否有办法将 Flet 程序打包成 .apk
文件以部署到 Android 设备或 .ipa
文件以部署到 iOS。
在这篇文章中,我想分享我们关于 Flet 移动化的愿景,并提供一个路线图。
服务驱动 UI
Flet 是一个服务驱动 UI (SDUI) 框架。SDUI 是一种新兴技术,在 Technology Radar 的文章 中有最佳描述:
服务驱动 UI 将渲染分离到移动应用中的通用容器中,而每个视图的结构和数据则由服务器提供。这意味着曾经需要往返应用商店的更改现在可以通过简单更改服务器发送的响应来完成。
像 DoorDash、Airbnb、Lyft 和其他公司已经成功地在他们的移动应用中实现了服务驱动 UI,以缩短上市时间。
Flet 方法
Flet 将实现服务驱动 UI 方法,在服务器上运行用 Python 或其他语言编写的程序,客户端只需一个轻量级客户端 - 独立的 Flutter 应用程序(应用商店中的 .apk
或 .ipa
包)或作为其他应用的一部分的 Flutter 小部件 - 传送到移动设备:
一旦 SDUI 体验准备就绪,我们将开始开发 独立移动包。
路线图
为了在移动平台上提供最佳的 Flet 应用体验,我们计划在今年年底前发布以下项目:
用于 Flutter 的 Flet 小部件
我们的第一步是将 Flet 客 户端分离为一个 Flutter 小部件,并在 https://pub.dev 上发布该包。然后,移动开发人员可以将 Flet 小部件集成到现有或新的 Flutter 应用中,以为核心应用功能添加动态服务驱动的 UI 体验。也可以创建一个新的 Flutter 应用,仅使用一个 Flet 小部件来托管完整的 Flet 应用。
开发者将按照 Flutter 指南将他们的应用打包、签名和分发到 Android、iOS、Linux、macOS 或 Windows 平台。
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 应用(不是用 Flutter 开发的)中。Put Flutter to work 文章提供了一个关于如何将 Flutter 集成到现有移动应用中的实际例子。
这是当前的计划。