Flet
Flet 是一个框架,它使您能够轻松地用您喜欢的语言构建实时的网页、移动和桌面应用程序,并安全地与您的团队分享。无需前端经验。
⚡从想法到应用,只需几分钟
内部工具或团队仪表板、周末项目、数据录入表单、信息亭应用或高保真原型 - Flet 是一个理想的框架,可以快速开发出外观精美的交互式应用程序,为一群用户提供服务。
📐 简单的架构
不再需要复杂的架构,如 JavaScript 前端、REST API 后端、数据库、缓存等。使用 Flet,您只需用 Python 编写一个单体有状态应用程序,就能获得多用户、实时的单页应用(SPA)。
🔋包含所有必需组件
要开始使用 Flet 进行开发,您只需要您喜欢的 IDE 或文本编辑器。无需 SDK,无需成千上万的依赖,无需复杂的工具 - Flet 内置了带有资源托管的 Web 服务器和桌面客户端。
由 Flutter 驱动
Flet UI 是用 Flutter 构建的,因此您的应用看起来专业,并且可以交付到任何平台。Flet 通过将较小的"小部件"组合成现成的"控件",并采用命令式编程模型,简化了 Flutter 模型。
🌐 支持多种语言
Flet 是与语言无关的,因此您团队中的任何人都可以使用他们喜欢的语言开发 Flet 应用。目前已支持 Python,Go、C# 和其他语言即将推出。
📱 交付到任何设备
将 Flet 应用部署为 Web 应用并在浏览器中查看。将其打包为 Windows、macOS 和 Linux 的独立桌面应用。在移动设备上将其安装为 PWA 或通过 iOS 和 Android 的 Flet 应用查看。
Flet 应用示例
目前,您可以用 Python 编写 Flet 应用,其他语言将很快添加。
这是一个"计数器"应用示例:
import flet
from flet import IconButton, Page, Row, TextField, icons
def main(page: Page):
page.title = "Flet 计数器示例"
page.vertical_alignment = "center"
txt_number = TextField(value="0", text_align="right", width=100)
def minus_click(e):
txt_number.value = str(int(txt_number.value) - 1)
page.update()
def plus_click(e):
txt_number.value = str(int(txt_number.value) + 1)
page.update()
page.add(
Row(
[
IconButton(icons.REMOVE, on_click=minus_click),
txt_number,
IconButton(icons.ADD, on_click=plus_click),
],
alignment="center",
)
)
flet.app(target=main)
要运行该应用,请安装 flet
模块:
pip install flet
然后运行程序:
python counter.py
该应用将在原生操作系统窗口中启动 - 这是 Electron 的一个很好的替代方案!
现在,如果您想将应用作为 Web 应用运行,只需将最后一行替换为:
flet.app(target=main, view=flet.AppView.WEB_BROWSER)
再次运行,您就立即得到一个 Web 应用:
入门指南
Python 示例应用
更多演示应用可以在画廊中找到。
社区
为这个精彩的项目做出贡献
- 阅读 CONTRIBUTING.md 文件