【前端】Flet:一款支持python及多语言开发的UI库

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

介绍

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的样例appSample 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的数据库
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python