NiceGUI 已经 1.0+, 已移除 JustPy 依赖, 只基于 Vue 3 + Quasar 2 + Tailwind 3, 加载速度很快!
NiceGUI 已经 1.0+, 已移除 JustPy 依赖, 只基于 Vue 3 + Quasar 2 + Tailwind 3, 加载速度很快!
🔥️ NiceGUI 介绍:
- ✅️ https://github.com/zauberzeug/nicegui
- ✅️ 之前依赖 JustPy, 加载速度非常慢, 现在已经移除 JustPy.
✅️ 只依赖 Vue 3 + Quasar 2 + Tailwind 3. 实测加载速度非常快! 完全可用.
官网演示:
https://nicegui.io/documentation
官网+文档示例, 都是基于 nicegui 实现. 加载速度很快. (对比基于 justpy 时, 速度跟💩️一样)
🔥️ 更新评价:
- ✅️ 200 天前, 评价过这个项目.
- 当时基于它依赖 JustPy, 给出评价: 垃圾.
- ✅️ 200 天后, 再看, 移除 JustPy 之后, 加载性能非常好!(代码做了大量重构)
实测开发效率非常高, 上手很快.
🚀️ 本人实测 demo:
✅️ https://github.com/better-py/learn-py/tree/main/packages/py-try/try-nicegui
- 这是一个简单的 desktop APP UI 布局.
- 总归不到 200 行, 实现非常多的效果.
支持 UI 自适应.
✅️ 后续我会做个 nicegui 项目模板(已经做了 70%), 开源出来给大家用.Mac + Desktop App 预览效果:
目前存在的问题:
- ✅️ 生态很小, 几乎没有. (比较 200 天,才有讨论, 加上首次观感极差!)
- 好在 1.0+ 源码非常简单, 可读性很好. 1 天不到, 就掌握 7788.
- Vue 3 + Quasar 2 + Tailwind 3 本身表达能力就很强. 弥补了劣势.
- ✅️ 打包问题:
- 使用 PyInstaller 打包成 desktop app, 有 bug. 不正常. 打开+直接退出. (还在调试)
- 原生不支持更改打包 app icon, 基于 PyInstaller 参数, 可绕过 + 支持.
- ✅️ system tray 问题: 系统托盘图表.
NiceGUI vs JustPy 对比:
- https://github.com/zauberzeug/nicegui/discussions/134#discussioncomment-5338495
- 作者解释 nicegui 1.0 之后, 完全移除了 JustPy 依赖. 赞!
- https://github.com/zauberzeug/nicegui/discussions/247
- NiceGUI is based on Vue 3, Quasar 2 and Tailwind 3.
- JustPy, in contrast, still uses Vue 2, Quasar 1 and Tailwind 2.
关于 Quasar 2(Vuejs UI 框架):
- ✅️ https://quasar.dev/vue-components/tabs
- ✅️ NiceGUI 暴露了
Quasar 2
的 props 和 slots, 使用Quasar 2
非常简单. - ✅️ NiceGUI 源码注释很贴心, 直接贴了
Quasar 2
文档链接. - ✅️ 在这之前, 完全没用过
Quasar 2
(有 vue3 经验). 参考注释, 使用Quasar 2
没有障碍!
关于技术选型的思考, 多说一句:
- ✅️ 虽然我之前一直在使用 vue3 + element-plus, 短暂使用 naive-ui(组件不全).
- element-plus 挺好用, 文档也完善.
- 但考虑到
国人项目
, 老外几乎不用. (潜在问题, 国外新项目的技术组合, 就几乎不会基于国人项目
) Quasar 2
国内极少有人用, 之前看 v2 前端的评价(不高), 就没关注.- 实际
Quasar 2
的体验, 挺好, 也并不复杂.(还是不能轻信他人评价) - 想说的是: 如果同类竞品, 有国外项目, 个人建议尽量选国外项目.
- 不是崇洋媚外, 仅从未来生态丰富度 /现实意义思考.(复用更多开源成果)