最近使用纯 Python 开发了一个没有目标的习惯追踪应用 (支持自部署):
整体开发的体验非常丝滑,NiceGUI 框架提供了丰富的前端组件。
同时支持非常自然地将前端状态绑定至 python 的属性或变量:
demo = Demo()
ui.slider(min=1, max=3).bind_value(demo, 'number')
甚至直接绑定至用户一次 session:
ui.textarea('This note is kept between visits')
.classes('w-full').bind_value(app.storage.user, 'note')
优雅的背后是 tradeoff ,就如同 GIL 一刀切一般,在 NiceGUI 框架中所有的逻辑都在后端服务器处理(美名称之为 backend-first philosophy )。
举个例子,在前端界面点击菜单下拉框,也需要一来一回的 websocket 交互。如果网络状况一般,可能会严重影响用户体验,这也是为什么个人项目主打自部署~
总而言之,NiceGUI 对于没有丰富前端经验的 Python 程序员,应该会是一个不错的选择 :)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.