主题
发布 Flet Web 应用
Flet 支持把你的应用发布为静态或动态网站。
下面这张表对比了把 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 版本。 |