据MarkTechPost报道,Flet团队上周发布Flet 1.0,距项目启动约四年,并宣布该框架已可用于构建生产应用。Flet是一个开源Python框架,使用Flutter渲染UI,开发者编写Python,Flet即可在iOS、Android、Windows、macOS、Linux和浏览器上绘制Material与Cupertino组件,无需Dart、Swift、Kotlin或JavaScript。

Flet 1.0.0已发布在PyPI,采用Apache 2.0许可,SDK要求Python 3.10或更新版本,可通过pip install 'flet[all]'安装。flet build可生成面向Windows、macOS、Linux、iOS、Android和Web的产物,命令行接受apk、aab、ipa、ios-simulator、windows、macos、linux、web八个目标平台。测试矩阵覆盖Python 3.10至3.14的框架单元测试以及Flutter侧测试;控件与示例集成测试检查行为并比较截图,以捕捉功能缺陷和视觉回归;Python二进制包测试在Android和iOS模拟器上验证原生库,移动流水线针对Python 3.12、3.13、3.14构建。flet build集成测试为全部六个平台编译这些Python版本的应用,flet test则启动打包应用并在全部五个原生平台驱动运行,包括Linux ARM64。开发者可用pytest编写集成测试,通过flet test针对打包构建运行,并在Android和iOS上进行截图比较。

Flet会将Python 3.12、3.13或3.14与应用程序捆绑,Web构建使用对应的Pyodide版本。Flet包索引现已列出100多个包,包括NumPy、pandas、Matplotlib、Pillow、SciPy、scikit-learn、cryptography和pydantic-core,以及配套原生库。mobile-forge流水线自动为iOS和Android构建wheel,但可用性仍取决于具体包和目标平台。

性能与打包方面,Flet追踪变化的属性,在UI协调期间跳过不必要的比较;以0.83版本为基准,控件差异计算测得最高6.7倍提升。在打包的原生应用中,dart-bridge让Python和Dart运行时在同一进程内通信,无需套接字,并为二进制数据设置专用通道。打包默认启用字节码编译,重新设计的Android打包可直接从APK加载Python包,无需解压。

Flet Declarative将UI描述为应用状态的函数,并组织为可复用组件。Flet Studio和Flet移动应用本身就是声明式Flet应用,命令式风格仍受支持,文档中可比较两种方式。兼容性政策会在移除API前先弃用,默认弃用期为三个次要版本。Flet MCP服务器为AI编码助手提供特定版本的Flet API信息,以及查找示例、图标和CLI选项的工具。Flet Studio可在浏览器中运行,内置AI代理,项目可下载到本地开发。Flet 1.0还说明,从0.28升级是一次实际迁移,因为处理程序现在运行在单一事件循环上。