文章目录
介绍
Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.
Flet是一款使用python语言, 帮助开发者构建实时应用(web应用、手机应用、桌面应用)的框架。就我目前的体验来看,该框架底层基于flutter,使用声明式UI,开发体验类似于dart写flutter-app。
启动速度方面, 作为桌面端运行时比较快;作为web运行就慢的一p,理论上至少要经历 python->dart->js的转译过程,自然快不起来。
开发生态
支持语言
目前只支持python开发,后续要支持以下语言 js| c#| go,但我觉得会延期的,毕竟今天都11月中旬了。
布局方式类似于h5的flex布局。
运行体验
- 直接使用 python main.py运行,1秒级启动。
- pyinstaller打包为多文件,启动需要4秒;打包为单文件,启动需要更久。
- 打包时长随你的项目体积和引入库数量而增加,初始大概20s完事。
- 手机端暂时只支持部署到服务端, 然后浏览器访问,慢的一p。
- 界面效果类似于uwp应用, 比winform界面好看点。
组件
flet组件的核心是 控件Controls, 界面由控件按层级或者树状结构组成。
- 布局方式:横向Row, 纵向Column, 容器(类似于一个空盒子,可以设置内部padding和align)
- 按钮
- list 。。。。。。挺丰富的,其余在官网https://flet.dev/docs/controls
API
- 本地储存能力 clientStorage, sessionStorage ( 类比web就行 )
- 文件选择器和拖拽上传
- 数据加密(使用你自定义的key)
热更新
开发时使用 flet -r main.py. 则递归检查main.py同级的文件或文件夹内代码的改变,实时热更新视图。
开发计划 Roadmap
以下为翻译
2022 7月-8月
安全
- 开放授权协议认证 (OAuth): GitHub, Google, Azure (Microsoft Account).
手机端
- Flet 小组件 for Flutter
- Flet Studio苹果应用 in App Store
- Flet Studio安卓应用 in Google Play
桌面端
- Windows and macOS “host” client with hot reload, so the app could be run as
flet main.py
- 似乎已经支持了hot-reload
Controls(控件)
- ✅ Routing and navigation
- 导航 - 导航抽屉:NavigationDrawer- 导航栏:NavigationBar
- 响应式布局(Responsive layout)
核心功能
- PUbSUB:看着似乎是,使用url访问时,可使用此多人实时通信功能。
- ✅ PubSub
用户指引(User education)
- 基于python的样例app(Sample apps in Python): - Chat (聊天)
2022 9月到12月
手机端
- White-labeled Flet mobile app
- 将flet-app打包成单独的apk或者ipa包
- 将flet嵌入原生app。
控件(Controls)
- 表格:DataTable
- 更多的图表(似乎已经有柱状图和折线图了):Charts
- 自适应的控件,按照平台差异来决定如何展现:Adaptive controls (controls that change their look depending on platform)
- ✅ Animations
编程语言支持
- JavaScript/TypeScript
- Go
- C# (.NET)
核心功能
- flet内嵌一个支持orm的数据库
版权归原作者 chenfengshf 所有, 如有侵权,请联系我们删除。