什么是 Flet
Flet 是一个框架,容许用你喜爱的语言构建交互式多用户 Web,桌面和挪动应用程序,而无需领有前端开发的教训。
次要特点
在几分钟内从想法到应用程序
为您的团队,周末我的项目,数据输出表单,kiosk 应用程序或高保真原型提供的外部工具或仪表板 – 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 应用程序查看。
装置应用
pip install flet
一个简略的计数示例
import flet
from flet import IconButton, Page, Row, TextField, icons
def main(page: Page):
page.title = "Flet counter example"
page.vertical_alignment = "center"
txt_number = TextField(value="0", text_align="right", width=100)
def minus_click(e):
txt_number.value = int(txt_number.value) - 1
page.update()
def plus_click(e):
txt_number.value = 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)
运行程序:
python counter.py
如何咱们心愿它只运行在浏览器端,能够如下配置:
flet.app(target=main, view=flet.WEB_BROWSER)
默认是运行桌面端的,然而在咱们启动的时候,会在随机端口启动一个 web 服务器,也能够在 web 端进行拜访
这是官网给的简略示例,咱们来写一个略微简单一点的:计算器。
页面代码比拟多,然而挺简略的,就不贴了,能够看到即应用原生的控件拼出来页面成果也还不错,比其余的 Python 桌面开发库要好看的多。尽管它没有 QT 那种界面设计器,通过拖拖拽拽就能生成页面,然而它的布局形式与前端一样,因而对于会前端的开发人员来说十分相熟,应用起来也很不便。
总结
目前这个我的项目还只是一个 BETA 版的,官网文档也不够欠缺,然而用来开发一些根底的软件还是没问题的。尤其是基于 Flutter,不须要像 Electron 一样打包 chromium 内核进去。等前期接入多种语言后,将会给很多很多程序员提供一个优良的跨平台开发方式,不必像 Electron 和 Flutter 一样须要特定的开发语言能力上手,期待它更加欠缺。