面向移动、桌面和 Web 应用的开源隐私优先分析工具,可替代 Firebase 和 Google Analytics。
flet-dev/flet
用纯 Python 构建 Web、桌面和移动应用的框架,无需前端经验。
- Star
- 17,392
- Fork
- 732
- 未关闭 Issue
- 269
- 最近提交
- 14小时前
这是什么?
Flet 让开发者只用 Python 就能编写界面和应用逻辑,应用可运行在 iOS、Android、Windows、macOS、Linux 和 Web 上。框架内置 150 多个控件,涵盖布局、表单、导航和对话框,并提供 Material 与 Cupertino 风格的样式。
它同时支持声明式和命令式两种 UI 写法:声明式通过可复用组件在状态变化时自动刷新界面,命令式则直接修改控件。Python 应用既可以通过 Pyodide 和 WebAssembly 直接在浏览器中运行,也可以把代码保留在服务器端,将实时界面更新推送到浏览器。移动端还可以使用 NumPy、pandas、Pillow 等库,项目提供了预编译的二进制包。
项目自带 `flet build` 用于打包桌面、移动端和 Web 应用,`flet test` 则可对打包后的应用运行基于 pytest 的集成测试。开发者可以组合已有控件构建自定义控件,也可以封装 Flutter 包来扩展功能。
核心功能
- 01一套 Python 代码可运行于 iOS、Android、Windows、macOS、Linux 和 Web。
- 02内置 150 多个控件,支持 Material 与 Cupertino 风格。
- 03同时支持声明式和命令式的界面编写方式。
- 04可通过 Pyodide 在浏览器中直接运行 Python 应用。
- 05`flet build` 可打包桌面、移动端和 Web 应用。
- 06`flet test` 可基于 pytest 对打包后的应用做集成测试。
适用场景
- 不学习 JavaScript 或 Dart,用 Python 开发内部工具或仪表盘。
- 用一套代码同时发布桌面、移动端和 Web 应用。
- 开发需要 NumPy、pandas 或 Pillow 的移动应用。
- 为 Python 脚本或数据处理流程快速搭建图形界面原型。
快速上手
- 1
安装 flet 包
pip install 'flet[all]' - 2
将示例代码保存为 counter.py(从 README 复制代码)
- 3
在原生桌面窗口中启动应用
flet run counter.py - 4
可选:在浏览器中运行同一应用
flet run --web counter.py
使用前须知
- 移动端打包等功能需要 flet build 等额外工具,设置会更复杂。
- 在移动端运行带原生库的 Python 代码依赖 Flet 提供的预编译二进制包。
标签
常见问题
- flet 是什么?
- 用纯 Python 构建 Web、桌面和移动应用的框架,无需前端经验。 Flet 让开发者只用 Python 就能编写界面和应用逻辑,应用可运行在 iOS、Android、Windows、macOS、Linux 和 Web 上。框架内置 150 多个控件,涵盖布局、表单、导航和对话框,并提供 Material 与 Cupertino 风格的样式。
- flet 可以免费使用吗?用的什么许可证?
- flet 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- flet 还在维护吗?
- 活跃维护中。flet 最近一次提交是在 2026年10月19日。
- flet 适合用来做什么?
- 不学习 JavaScript 或 Dart,用 Python 开发内部工具或仪表盘。 用一套代码同时发布桌面、移动端和 Web 应用。 开发需要 NumPy、pandas 或 Pillow 的移动应用。 为 Python 脚本或数据处理流程快速搭建图形界面原型。
- flet 怎么安装和运行?
- 安装 flet 包: pip install 'flet[all]' 将示例代码保存为 counter.py(从 README 复制代码) 在原生桌面窗口中启动应用: flet run counter.py 可选:在浏览器中运行同一应用: flet run --web counter.py
- 在哪里获取 flet?
- 源代码和安装说明在 GitHub 上:https://github.com/flet-dev/flet
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 React 构建可同时运行于 Android、iOS 和 Web 的通用原生应用的开源框架。
让 AI 智能体和 LLM 通过 MCP 协议自动操作 iOS、Android 模拟器、模拟器及真机应用的服务器。
基于 Flutter 的跨平台应用,用于查看 Linux、Unix、Windows 服务器状态并通过 SSH 管理服务器。
基于 Flutter 开发的开源密码管理器,覆盖移动端、桌面端和网页端,兼容 KeePass 2.x 的 KDBX 3 与 KDBX 4 数据库。