当前位置:首页>python>Flet:一个能让你用熟悉的Python快速构建实时 Web、移动、桌面 App 的框架

Flet:一个能让你用熟悉的Python快速构建实时 Web、移动、桌面 App 的框架

  • 2026-09-05 20:10:08
Flet:一个能让你用熟悉的Python快速构建实时 Web、移动、桌面 App 的框架

只熟Python,写前端就头大?后端、数据库、缓存一大堆堆栈让你抓狂?来瞧瞧 Flet,保准你眼前一亮!

什么是 Flet?Flet 就是一个能让你用熟悉的语言(目前 Python)快速构建实时 Web、移动、桌面 App 的框架。你只要写一个「单体状态应用」,不需要折腾 React、Vue、TypeScript,前后端一条龙。内置了 Web 服务器、资源托管,还能打包成桌面原生或 PWA,懒到极致。

解决了哪些痛点?

  • • 前后端分离太麻烦:写了 API,还得维护一份前端代码。
  • • 上手门槛高:不会 JS、不会 CSS?项目搁那儿尴尬。
  • • 部署复杂:Nginx、Docker、CI/CD…搞半天环境又出问题。
  • • 跨平台痛苦:Electron 太重、React Native 配置头大。

Flet 一条命令搞定:

  1. 1. 写 Python
  2. 2. pip install flet
  3. 3. python app.py——原生窗口、SPA 网页随意切换,团队成员零成本上手!

代码示例:手把手演示一个小 Demo下面我们来实现一个“计数器”示例,只有几十行代码,就能让你切换原生 App 和 Web App。

import flet as ftdef main(page: ft.Page):    page.title ="Flet 计数器示例"    page.vertical_alignment = ft.MainAxisAlignment.CENTER    txt = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)def dec(e):        txt.value =str(int(txt.value)-1)        page.update()def inc(e):        txt.value =str(int(txt.value)+1)        page.update()        page.add(        ft.Row([            ft.IconButton(ft.Icons.REMOVE, on_click=dec),            txt,            ft.IconButton(ft.Icons.ADD, on_click=inc),         ], alignment=ft.MainAxisAlignment.CENTER)        )# 运行成原生窗口# ft.app(target=main)# 运行成 Web 应用flet.app(target=main, view=ft.AppView.WEB_BROWSER)

大家可以看到:

  • • page 对象管理页面状态和布局;
  • • “控件”(TextField、IconButton、Row)用起来像搭乐高;
  • • page.update() 刷新视图,简单明了。

优缺点分析优点

  • • 零前端经验门槛:用 Python 就能搞定 UI、交互。
  • • 实时多用户:内置状态管理和多人协作,写完就能多人访问。
  • • 跨平台:一套代码,浏览器、Windows、macOS、Linux、PWA 都能用。
  • • 基于 Flutter:UI 颜值在线,性能稳定。

缺点

  • • 生态相对年轻:目前官方只支持 Python,Go、C# 等语言还在路上。
  • • 控件还没覆盖所有场景:高级动画、图表等可能要自己封装。
  • • 社区规模不大:遇到问题可能得翻源码或提 Issue。

总结总的来说,Flet 就像一个「傻瓜式跨平台开发工具」,适合对实时协作、内网工具、数据大屏、快速原型感兴趣的开发者。它把前端那一整套折腾变成了几行 Python,让你有更多时间专注业务逻辑。如果你和我一样,懒得折腾前端,又想要漂亮的界面,不妨试试 Flet,一分钟上手,分分钟出效果!

项目地址:https/github.com/flet-dev/flet

最新文章

随机文章