跳到主要内容

Flet移动战略

· 阅读需 6 分钟
Feodor Fitsner
Flet创始人兼开发者

Flet项目最近受到了很多关注,我们要感谢所有尝试使用Flet并在社区中传播有关它的开发人员!您的支持激励我们以更快的速度推进Flet项目!

新的Flet开发人员经常问是否有一种将Flet程序打包成.apk文件以部署到Android设备或.ipa文件以部署到iOS的方法。

在本文中,我想分享一下我们对Flet移动化的愿景并提供一个路线图。

服务器驱动的UI

Flet是一个服务器驱动的UI(SDUI)框架。SDUI是一种新兴的技术,最好在Technology Radar post中进行描述:

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

DoorDashAirbnbLyft等公司已经成功地在其移动应用程序中实施了服务器驱动的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指南为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应用程序(非使用Flutter开发的应用程序)中。Put Flutter to work文章提供了一个实际示例,演示了如何将Flutter集成到现有的移动应用程序中。

这是目前的计划。

与此同时,试试Flet,并告诉我们您的想法!