Flet
如果未使用打包工具管理依赖项,请通过执行以下命令安装 gem
$ gem install flet
Flet
Flet 是一个框架,可让您轻松地使用您喜欢的语言构建实时的 Web、移动和桌面应用程序,并安全地与您的团队共享。无需前端经验。
⚡从想法到应用,只需几分钟
团队的内部工具或仪表板、周末项目、数据录入表单、信息亭应用程序或高保真原型——Flet 是快速构建美观的交互式应用程序以服务用户群的理想框架。
? 简单的架构
告别包含 JavaScript 前端、REST API 后端、数据库、缓存等的复杂架构。使用 Flet,您只需编写一个整体有状态的 Ruby 应用程序,即可获得多用户、实时的单页应用程序 (SPA)。
? 自带电池
要开始使用 Flet 进行开发,您只需要您喜欢的 IDE 或文本编辑器。无需 SDK、无需数千个依赖项、无需复杂工具——Flet 内置了 Web 服务器,支持资源托管和桌面客户端。
由 Flutter 提供支持
Flet UI 是使用 Flutter 构建的,因此您的应用程序看起来很专业,并且可以交付到任何平台。Flet 通过将较小的“小部件”组合成即用型“控件”,并采用命令式编程模型,简化了 Flutter 模型。
? 说你的语言
Flet 是语言无关的,因此您团队中的任何人都可以使用他们喜欢的语言开发 Flet 应用程序。 Python 已支持,Ruby 正在开发中,Go、C# 等 即将推出。
? 交付到任何设备
将 Flet 应用部署为 Web 应用并在浏览器中查看。将其打包为 Windows、macOS 和 Linux 的独立桌面应用。作为 PWA 安装在移动设备上,或通过 Flet 应用在 iOS 和 Android 上查看。
Flet 应用示例
目前您可以使用 Python 编写 Flet 应用,很快将添加其他语言。
这是一个示例“计数器”应用
require 'flet'
require 'flet/IconButton'
require 'flet/Page'
require 'flet/Row'
require 'flet/TextField'
require 'flet/icons'
def main(page = new 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()
end
def plus_click(e)
txt_number.value = int(txt_number.value) + 1
page.update()
end
page.add(
Row(
[
IconButton(icons.REMOVE, on_click=minus_click),
txt_number,
IconButton(icons.ADD, on_click=plus_click),
],
alignment="center",
)
)
end
flet.app target=main
要运行该应用,请安装 flet 模块
该应用将在原生操作系统窗口中启动——这是 Electron 的一个很好的替代品!
现在,如果您想将该应用作为 Web 应用运行,只需将最后一行替换为
flet.app target=main, view=flet.WEB_BROWSER
再次运行,您将立即获得一个 Web 应用
入门
查看 python flet
社区
为这个精彩的项目贡献一份力量
- 阅读 CONTRIBUTING.md 文件

