求推荐,哪些框架组合可以给自己做个类似 jetbrains toolbox 的工具箱

2023-10-06 23:23:03 +08:00
 nick0x01

各位同好有啥推荐的吗?

最近看到 PyQt-Fluent-Widgets 很不错,感觉可以搞起来。

不过对于每一个小程序(或者说模块)的更新管理什么的,我真的一点都不懂啊。


Anaconda Navigator 也很酷,希望和各位讨论一下实现思路。

我感觉可以利用私有 pip 服务实现

2205 次点击
所在节点    Python
14 条回复
neoblackcap
2023-10-07 01:15:22 +08:00
没记错的话 jetbrains 就是用 qt 做的,现在可能换了一下底层的,但是你用 qt 去做也是完全可以的。如果讲究快的话,可以适用 WebView2 之类的计算,写写网页就可以了
t6gfx4ddv3
2023-10-07 05:29:10 +08:00
对 python 不熟,版本管理和下载这块,简单点可以直接部署文件,然后只用文件名和 semver 版本号管理版本,这样服务端可以只用少量 python 代码或者只用 nginx 应该就行了。
更正式的方式是加上数据库,sqlite3 搭配个 gui 客户端,然后在 python 里写写查询应该也够用了。如果需要自己的管理页面,基本就开始步入后端领域了。
python 的服务器/后端框架应该挺多的,选个简单顺手的应该很方便。
t6gfx4ddv3
2023-10-07 05:39:06 +08:00
gui 客户端的话,python 里框架不熟,不过应该都能用这些框架写成 toolbox 类似的界面。
其他方案的话,toolbox 现在应该是基于 compose multiplatform 了,kotlin 技术栈。缺点是依赖 jvm ,打包得带上一堆 jar ,也没有热重载,改啥都要重新编译好久。
另一个选择是 flutter ,开发语言是 dart ,有热重载开发速度快,比 compose 完善,也更轻量,打包起来小很多。个人不太习惯 dart ,感觉和 java 一样有点啰嗦了,所以 flutter 也没深入体验过。
如果偏好写前端界面的话选择就很多了,可以使用 tauri ( rust ),wails ( go ),还有最广泛使用也最重型的 electron ( node )。
如果只需要 windows 应用,hta 也能写,基于 html/css/js ,只要一个文本文件就能跑了,不过比较古老,按主题的需求写起来应该会很痛苦。
sunmker
2023-10-07 09:08:50 +08:00
WPF
KgM4gLtF0shViDH3
2023-10-07 10:39:54 +08:00
用 electron ,pyqt 打包特别差。
sky96111
2023-10-07 11:01:10 +08:00
@neoblackcap jb toolbox 是用 compose multiplatform 写的,技术栈是 skia+kotlin+jvm
aerzha
2023-10-07 11:08:38 +08:00
@sky96111 请教下,仅 compose multiplatform 开发的话,技术栈应该不需要 skia 吧
sky96111
2023-10-07 11:15:29 +08:00
@aerzha 不需要,我这里指的是 compose 的底层用到了 skia
neoblackcap
2023-10-07 14:13:36 +08:00
@sky96111 前几个版本应该还是 qt 的,因为我的确看到 mac 版本有一堆 qt 的库
werls
2023-10-07 14:23:02 +08:00
@neoblackcap 前几个版本时 还没有 compose multiplatform ,
sky96111
2023-10-07 15:55:06 +08:00
@neoblackcap #9 前几个版本是 electron+cpp ,似乎从来没用过 QT
timnottom
2023-10-07 16:06:16 +08:00
界面其实无所谓,我觉得你怎么设计模块化,是最重要的
nick0x01
2023-10-09 20:50:15 +08:00
感谢各位回复。最近感冒了,所以今天才来。我只熟悉 python ,所以想用 pyqt 先试试,比如 https://github.com/sinusphi/venvipy
nick0x01
2023-10-09 20:52:52 +08:00
ansys 也推出了类似的管理套件,我看看能不能换个皮。https://github.com/ansys/python-installer-qt-gui

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/979316

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX