大家好,我是老刘
上个月,Flet 1.0 正式发布了。

这个项目从 2022 年开始持续保持更新,迭代了四年,上个月终于放出了 1.0 正式版。
老刘的看法可能有点扫兴。不管对客户端生态还是 Flutter 生态来说,这都是一个设计得很漂亮的项目,可惜生不逢时,来得有点晚了。
接下来先说说 Flet 到底是什么,再聊聊老刘为什么说它来晚了。
Flet 是 Flutter 上的 RN
Flet 的官方链接在这里,感兴趣的同学可以先看看。
老刘个人的观点,Flet 本质上是 React Native 那套跨运行时、镜像树、增量补丁的范式,配上 Flutter 作为唯一的渲染后端。
说人话就是,RN 用 JS 写业务,Flet 用 Python 写业务。RN 把绘制交给各系统的原生组件,Flet 把绘制统一交给 Flutter 完成。

当然从架构细节上看,它和 RN 还是有区别的,关键差异在于布局由谁来算。
RN 的做法是 Yoga 在 shadow tree 上自己算 flexbox 布局,算完再把位置下发下去。Flet 的 Python 侧完全不算布局,只下发控件属性,布局全部交给 Flutter 的 layout 引擎。所以 Flet 的 Control 树更接近一份状态加属性的数据包,不像 RN 的影子树那样还要承担布局职责。
这个设计其实更干净,把布局的活彻底还给了渲染层。
双重优势,也背着双重代价
先给技术路线定个性。老刘之前在《Perry 能取代 Flutter 吗?跨平台的三种技术路线》里聊过跨平台的三种技术路线,Flet 仍然属于中间层这条路。
而且它比一般中间层更特别。它是在 Flutter 这种自带绘制引擎的方案上,又叠了一个 Python 中间层。所以它具备双重优势和双重代价。
优势
它同时拿到了两种方案的好处。
一端是自带绘制引擎方案带来的高度多端一致性,各平台表现统一。另一端是中间层方案的高度动态性,可以动态发布,不需要更新 App 版本。
再加上 Python 作为开发语言,直接接上了 Python 庞大的生态体系,数据处理、AI 库随手可用。
代价
反过来看,它也同时背上了两种方案的短板。
中间层方案的性能损耗主要来自两块,中间层自身的资源消耗,加上跨运行时的通信延迟。Flet 把这两样都占了,交互密集的场景里性能天花板明显低于纯 Flutter,相当于把 Flutter 性能这块核心优势给抵消掉了。
发布包天生比 Flutter 更大。除了 Flutter 的渲染引擎,还要额外携带一个 Python 运行时。
调用系统原生能力的链路也更长,需要在原生、Flutter、Python 三方之间同步数据,每多一层就多一份出问题的概率。
所以总的来说是优劣都叠加了,不存在简单的更好还是更坏,主要看使用场景是否合适。
老刘为什么说它来晚了
Flet 适合什么样的团队?老刘觉得是那种技术栈主要在 Python 这一侧,但又需要开发客户端的团队。这个需求在过去很多年都是真实存在的,Flet 放在五年前,会是一个相当有市场的方案。
问题在于,AI 时代把这件事的前提抽掉了。
拿老刘自己举例。我熟悉的技术栈在客户端这一侧,对 Python、JS 都只是略懂,远远谈不上精通。
但我借助 AI,独立完成了一个 JS 的开源项目,从搭建到上线全流程依靠AI走完。
GitHub 地址放这里,欢迎围观。
老刘想说的是,在 AI 时代,编程语言和技术栈的局限早就被打破了。
现在真正动手写代码的,已经变成了和开发者协同工作的 AI,开发者做的是定义问题、搭架构、做验收。
回到 Flet 的场景。一个 Python 团队不熟 Dart 和 Flutter,选项 A 是在Flutter上再加一个 Python 中间层,选项 B 是让 AI 直接写 Flutter 代码。老刘会毫不犹豫选 B,链路更短,性能更好,维护成本也更低。
如果语言壁垒是堵墙,Flet 选择用框架去绕开,AI 却可以直接把墙拆了。
最后说两句
老刘对 Flet 这个项目本身没有任何意见,四年持续迭代到 1.0,工程完成度值得尊重。技术方案的选择也很精巧。
如果你的团队已经在重度使用它,继续用下去没有问题。
但如果你今天才开始选型,老刘的建议很直接。先去试试让 AI 直接写 Flutter,跑通一个最小闭环,再决定要不要引入中间层。
技术选型从来不只看方案本身好不好,更要看它解决的问题还值不值得解决。
你在团队里遇到过用熟悉语言套中间层的方案吗,后来是香了还是踩坑了?欢迎评论区聊聊。
🤝 如果看到这里的同学对客户端或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。
🎁 私信免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。可以作为Flutter学习的知识地图。
💬 : laoliu_dev
📂 老刘也把自己历史文章整理在GitHub仓库里,方便大家查阅。