什么是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 fletfrom flet import IconButton, Page, Row, TextField, iconsdef 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一样须要特定的开发语言能力上手,期待它更加欠缺。