跳到主要内容

将 Flet 应用程序发布到 Web

Flet 允许将您的应用程序作为 静态动态 网站发布。

静态网站 - 内容不变, exactly delivered as stored。Python 代码在 web 浏览器中运行。

动态网站 - 内容是动态生成的,每个用户都有不同的内容。Python 代码在服务器上运行。

下面是 Flet 应用程序作为静态网站和动态网站运行的比较表:

静态网站动态网站
加载时间⬇️ 较慢 - Python 运行时(Pyodide)和应用程序的 Python 代码以及所有依赖项必须加载到浏览器中。Pyodide 初始化也需要时间。✅ 较快 - 应用程序保持在服务器上运行。
Python 兼容性⬇️ 并不是所有使用 native Python 的程序都可以使用 Pyodide 运行 Pyodide 的限制✅ 任意 Python 包都可以使用。
响应性✅ 零延迟 - 用户生成的事件(点击、文本字段更改、拖拽)和页面更新之间。⬇️ 非零延迟 - 用户生成的事件通过 WebSockets 与服务器通信。UI 更新也通过服务器通信回来。
性能⬇️ 较慢 - Pyodide 目前比 native Python 慢 3-5 倍,因为 WASM✅ 较快 - 代码在服务器上由 native Python 运行。
代码保护⬇️ 低 - 应用程序的代码加载到 web 浏览器中,可以被用户检查。✅ 高 - 应用程序在服务器上运行。
托管✅ 便宜/免费 - 服务器上不需要运行代码,因此应用程序可以托管在任何地方:GitHub Pages、Cloudflare Pages、Replit、Vercel 或自己的 VPS。⬇️ 需要付费 - 应用程序需要 Python 代码在服务器上运行,并通过 WebSockets 与 web 浏览器通信。