py 折腾数据可视化是真的痛。各花了一个小时去看 pywebio 和 nicegui 的文档和魔改 demo ,但是发现还是不太舒服。
先说我的需求: 一个监控系统,用于显示任务进度信息(例如,当前进度,日志显示,脚本变量); 大体上可以看作搞一个 prometheus+tensorboard 的 GUI 。
想着是开一个 HTTP 服务器监听任务信息,然后套一个前端做可视化; 前端获取任务信息进行动态更新。
pywebio 和 nicegui ,或者说其他库,例如 streamlit 啥的都是基于多会话设计,也就是访问之间没有多大关联。然后实现上来说,同一个脚本开一个 HTTP 服务器监听,然后再跑一个 UI 框架是行不通。
换句话说,监听任务信息的 HTTP 服务器单独一个脚本,然后 UI 框架再额外一个脚本,之间使用 HTTP 或者数据库进行通信。这样折腾下来不仅部署挺麻烦,还要受限与 UI 框架。
目前得出来结论是,用 jQuery+Bootstrap+Ajax 是最合适。最大的痛点是 UI 控件以及要熟悉 CSS 排版。
如果弄 react/vue 什么的,UI 控件齐全,但是环境搭建好的时候,用前面的方法应该已经做完了。本身一共就不超过 300 行代码,折腾来折腾去不就是为了省时间。
不知道 dalao 们有什么其他想法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.