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 对比:

关于 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 的体验, 挺好, 也并不复杂.(还是不能轻信他人评价)
  • 想说的是: 如果同类竞品, 有国外项目, 个人建议尽量选国外项目.
  • 不是崇洋媚外, 仅从未来生态丰富度 /现实意义思考.(复用更多开源成果)