Skip to content

发布 Flet Web 应用 ​

Flet 支持把你的应用发布为静态或动态网站。

  1. 静态网站 —— 内容原样交付,Python 在浏览器中运行(Pyodide)。

  2. 动态网站 —— 内容针对每个用户动态生成,Python 在服务器上运行。

下面这张表对比了把 Flet 应用作为静态网站与动态网站运行时的区别:

静态网站动态网站
加载时间⬇️ 较慢 —— 必须先把 Python 运行时(Pyodide)以及应用的 Python 代码和所有依赖加载进浏览器。Pyodide 的初始化也需要时间。✅ 更快 —— 应用始终在服务器上运行。
Python 兼容性⬇️ 并非所有能与原生 Python 配合的程序都能在 Pyodide 下运行✅ 可以使用任何 Python 包。
响应性✅ 用户触发的事件(点击、文本字段变化、拖拽)与页面更新之间零延迟。⬇️ 有延迟 —— 用户触发的事件通过 WebSockets 发送到服务器,页面更新再传回来。
性能⬇️ 较慢 —— 由于 WASM 的限制,Pyodide 目前比原生 Python 慢 3~5 倍✅ 更快 —— 代码由原生 Python 在服务器上运行。
代码保护⬇️ 低 —— 应用代码会被加载进浏览器,用户可以查看。✅ 高 —— 应用在服务器上运行。
托管✅ 便宜/免费 —— 服务器上不运行任何代码,因此应用可以托管在任何地方:GitHub Pages、Cloudflare Pages、Replit、Vercel、共享主机或你自己的 VPS。⬇️ 付费 —— 应用需要在服务器上运行 Python 代码,并通过 WebSockets 与浏览器通信。
Python 版本⬇️ 绑定到特定的 Pyodide 版本 —— 从支持的集合(3.12 / 3.13 / 3.14)中选择。参见选择 Python 版本。✅ 任何能运行你的服务器的 Python 版本。

关注我,学习大模型、大数据、Python等热门技术。