简介
Flet 是一个开源框架,允许开发者仅使用 Python 构建实时 Web、移动和桌面应用程序,无需任何前端开发经验。由 flet-dev 团队维护,Flet 通过将 Flutter 的强大 UI 渲染能力与 Python 的简洁语法相结合,彻底改变了传统应用开发模式。该项目自 2022 年启动以来,已获得 15.6k 星标和 618 个分支,成为 Python 生态中最受欢迎的跨平台开发框架之一。其核心设计理念是'一次编写,随处运行',使开发者能够专注于业务逻辑而非平台适配。
核心价值:
- 全栈 Python:从前端 UI 到后端逻辑完全使用 Python,降低技术栈复杂度
- 原生体验:基于 Flutter 渲染,在所有平台上提供原生级别的性能和外观
- 实时更新:内置实时通信机制,支持动态 UI 更新和数据同步
- 生产就绪:已发布 130 个版本,最新版本 v0.80.5 于 2026 年 1 月发布
技术定位:Flet 填补了 Python 开发者与多平台应用开发之间的空白。它既不是另一个 Web 框架,也不是简单的 GUI 工具包,而是一个完整的应用开发生态系统。通过抽象平台差异,它为 Python 开发者提供了构建现代应用程序所需的一切工具,从简单的工具应用到复杂的企业级系统。
主要功能
1. 真正的跨平台支持
Flet 应用可以原生运行在 iOS、Android、Windows、Linux、macOS 六大平台,同时支持现代浏览器中的 WebAssembly 运行。这种'一次编写,随处运行'的能力大幅减少了开发和维护成本。应用在不同平台上保持一致的视觉体验和性能表现,无需为每个平台编写特定代码。
2. 丰富的 UI 组件库
框架提供 150 多个内置控件和服务,涵盖 Material Design 和 Cupertino 设计语言。包括布局容器、导航组件、对话框、图表、表单控件等完整 UI 元素。所有控件都经过精心设计,确保在不同平台上的视觉一致性和交互流畅性。开发者可以通过组合这些控件快速构建复杂的用户界面。
3. 完整的 Python 生态集成
支持 50 多个流行的 Python 包在 iOS 和 Android 上运行,包括 NumPy、pandas、pydantic、cryptography、OpenCV、Pillow 等科学计算、数据处理和图像处理库。这种深度集成使开发者能够在移动应用中直接使用熟悉的 Python 工具链,无需学习新的语言或框架。
4. 双模式 Web 支持
Flet 提供两种 Web 部署模式:客户端模式使用 WebAssembly 和 Pyodide 在浏览器中直接运行 Python 代码,无需服务器;服务器模式将应用部署为传统的 Web 应用,支持实时 UI 更新。这种灵活性使开发者可以根据应用需求选择最合适的架构。
5. 一体化打包系统
内置完整的应用打包工具链,支持生成 iOS App Store 和 Google Play Store 所需的应用程序包,以及 Windows、Linux、macOS 的本地安装包。打包过程自动化处理依赖管理和资源优化,简化了发布流程。
6. 实时开发体验
通过 Flet App 工具,开发者可以在真实移动设备上实时测试应用,代码更改会立即反映在测试设备上。这种即时反馈机制显著加快了开发迭代速度,提高了开发效率。
7. 可扩展架构
框架设计高度模块化,支持通过纯 Python 代码创建新的 UI 控件。开发者可以轻松封装数千个 Flutter 包中的任何控件,或基于内置 UI 原语构建自定义组件。这种可扩展性确保了框架能够适应不断变化的技术需求。
8. 无障碍访问支持
基于 Flutter 的坚实基础,Flet 在所有平台上提供完整的无障碍功能支持,包括屏幕阅读器兼容性、键盘导航和高对比度模式。这确保了应用能够服务于更广泛的用户群体。
安装与配置
环境要求
基础环境:
- Python 3.8 或更高版本:Flet 完全兼容现代 Python 版本
- pip 包管理器:用于安装 Flet 及其依赖
- 操作系统:Windows 10/11、macOS 10.15+、Linux(主流发行版)
可选组件:

