Repolode
flet-dev

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. 1

    安装 flet 包

    pip install 'flet[all]'
  2. 2

    将示例代码保存为 counter.py(从 README 复制代码)

  3. 3

    在原生桌面窗口中启动应用

    flet run counter.py
  4. 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 数据每日更新。

相关项目