JustPy
, 加载速度非常慢, 现在已经移除 JustPy
.Vue 3 + Quasar 2 + Tailwind 3
. 实测加载速度非常快! 完全可用.官网演示:
Vue 3 + Quasar 2 + Tailwind 3
本身表达能力就很强. 弥补了劣势.PyInstaller
打包成 desktop app, 有 bug. 不正常. 打开+直接退出. (还在调试)优缺点:
flutter desktop
场景, 依然不可用. 有很多重大 bugs 未修复. 不建议使用. flutter mobile
比较推荐.实测:
1
akaHenry OP ## 其他补充:
### 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]( https://www.naiveui.com/en-US/os-theme)(组件不全). - element-plus 挺好用, 文档也完善. - 但考虑到 `国人项目`, 老外几乎不用. (潜在问题, 国外新项目的技术组合, 就几乎不会基于 `国人项目`) - `Quasar 2` 国内极少有人用, 之前看 v2 前端的评价(不高), 就没关注. - 实际 `Quasar 2` 的体验, 挺好, 也并不复杂.(还是不能轻信他人评价) - 想说的是: 如果同类竞品, 有国外项目, 个人建议尽量选国外项目. - 不是崇洋媚外, 仅从未来生态丰富度 /现实意义思考.(复用更多开源成果) |
3
SoulMelody 2023-06-12 05:53:14 +08:00
还有集成了 vuetify 的 trame https://github.com/Kitware/trame ,它支持数据双向绑定,语法比 nicegui 更贴近 vue 一些
|
4
akaHenry OP |
5
akaHenry OP 更新了 UI 设计, 目前的这个 UI 配色, 已经可以拿去直接用了.
|
6
M4rs 2023-06-20 22:31:13 +08:00
写得很详细👍
|
7
lchynn 2023-09-22 13:27:37 +08:00
能不能加一个和 reflex ( reflex.dev )的对比呢? 这个 star 比 nicegui 多很多了。
( V2EX 有个介绍贴: https://www.v2ex.com/t/963602 ) |
8
akaHenry OP @lchynn
粗略看了下 reflex 官方文档, 设计风格是偏 flutter 的. 我也写过 flutter. 不过感觉这个 reflex 没有 nicegui 简洁, nicegui 是很地道的 python 代码写法. reflex 这种抄 flutter, 有点不伦不类.(很不 python) nicegui 是 基于 vue.js + Quasar(UI 框架) 的. 也提供了 hack 入口, 即使 nicegui 一些 API 还未对齐, 也可以 hack 进 vue.js, 用纯前端的方式来实现一些功能. so, nicegui 的完成度更高, 未来上限更高. 充分利用 vue.js 和 Quasar 的强大, 站在巨人肩膀上. 站在当前节点, 类前端(web)方案, 是开发效率最高的 GUI 方案. 非 web 方案, 不值得投入时间研究. |
9
pythonwood 2023-10-09 21:11:12 +08:00
1 年前在等 vuetify3+vite ,现在发现 reflex/nicegui ,从而发现 Quasar 也很好。
这些年前端变化多端,希望能有个武林盟主,或者 2 、3 个带头大哥就可以了 |
10
azev 356 天前
搜到这了 问个问题
就是运行 nicegui 的时候 发现有些 css 没有载入( http:127.0.0.1:8080/_nicegui/1.2.24/static/***.css ) 未加载,因为它的 MIME 类型 "application/x-css" 不是 "text/css"。 这个问题好像我之前做写 gin 程序也遇到过 好像 flask 也遇到过 需要改下代码就可以 但奇怪这个问题问的不是特别多,难道跟电脑和系统也有关吗? 回到 nicegui 该怎么弄呢? |
11
cl80 335 天前
可以使用 自定义的 vue 组件吗
|
12
akaHenry OP @pythonwood 我目前认为 quasar 可能是最好的 vue.js UI 框架, 比国内的 element 等几个 UI 项目都要好用, 完成度和多平台一致性更好.
文档也更好. 缺点是中文社区用的人少, 有问题去官方 discord 搜. 还行. |
13
akaHenry OP @azev 你这个问题, 完全没遇到过. 是不是你本地开了 VPN, 梯子代理干扰了?
我是 macOS 平台, 没遇到过. 你可以用 native 模式(desktop app 模式) 运行看看, 排除是不是浏览器的问题. |
14
akaHenry OP @cl80 可以使用 vue 自定义组件. 最近 nicegui 升级了几个版本, 对自定义 vue 组件, 更加友好.
PS: 我的 repo 里, 有参考官方示例, 写了个 SPA 模式的 demo, 路由切换, 就不会强制刷新页面了. 很适合用来打包 app. 可以参考. |
15
xiaozizayang 215 天前
作者,请问现在 nicegui 发展得如何了?
|
16
akaHenry OP @xiaozizayang
nicegui 更新很活跃, 文档也一直更新+完善. 德国人🇩🇪的项目, 质量都比较高, 也很少烂尾. Vue 3 + Quasar 2 是我目前专注的前端方案, 如果你也偏好 vue, nicegui 用起来会非常顺手. 个人小项目, 拿他画个 UI, 非常快. 关于打包成 Mac/Windows 问题, 这个属于是 Python 打包通病, 很难搞. 各种打包方案, 都有坑. 如果不考虑打包, 或者 docker 部署. 可以放心用 nicegui. 体验很流畅. (nicegui 最近也在路由支持 SPA 模式, 对写 app 友好) |
17
xiaozizayang 214 天前
@akaHenry #16 感谢耐心回复,我是需要打包 windows ,也期望一套 python 生态能搞定,如果能在打包上做到相对自动化体验会好很多,毕竟能折腾这一套的其实更愿意选择 electron 或者 tauri 了
https://github.com/better-py/learn-py/issues/5 这个项目的那个解决方案评论者是你么? |
18
akaHenry OP @xiaozizayang 是我.
pyinstaller 之类的工具, 我都测试过. (遇到一堆坑, 浪费了蛮多时间无果) 有几个客观原因, 我的开发环境是 M1 Mac, 有不少编译问题, 是 M1 Mac 导致的. (排错过程, 不少 issue 别的平台, 相同编译参数, 是正常的, 但是 M1 Mac 不正常. 我也没时间换个机器验证, 就放弃探索了. ) ------------------------------------------------------------------------------------------------------------------------ https://github.com/better-py/learn-py/tree/main/packages/py-try/try-nicegui 这个示例项目, 有多个 build.py 脚本, 以及 taskfile.yml 里也有几个编译参数. 如果你有时间折腾, 也可以继续探索 + 验证. (如果开发环境是 Windows, 说不定有些参数, 编译是正常的) ------------------------------------------------------------------------------------------------------------------------ 如果你没空折腾, 我回复的绕路方案: 就是类似 Sublime Text 这种, 打包了 Python 的运行环境. (也就是 Java App 日常打包 JRE 运行时的操作) 缺点: 是增加包体积 + 每个平台都要单独打包, 优点是: 基本可以秒开. 这个方案, 成熟无坑. 最新的 Python 标准库, 提供了绿色 Python 的打包工具. 比较容易搞定. |
19
xiaozizayang 213 天前
感谢回复,现在体积大也不是不能接受,如果只针对 win ,绿色模式其实只要打包一次就行了对吧
|
20
akaHenry OP |
21
zfox 174 天前
没用过,但是看起来还不错,支持下
|
22
i1MqODKe0P16t1Ra 156 天前
nicegui 非常好!解决了后端人员需要自己展示 UI 的需求。
|