
请问目前有替换 Qt 的技术框架吗?
应用场景:主要是一些应用软件,桌面化软件; 目前使用过:Electron 框架打包桌面化软件(里面是 Web 界面)
除了 C#或.Net 类的框架外,还有其他的吗? Electron 、Qt 、PyQt 、WPF 和 WinForms ?
如从性能方面考虑,用哪些桌面化框架开发,比较好; 如从开发难度方面; 如从跨平台方面
要允许可商用,不会涉及版权问题
1 wu67 2024-03-20 08:55:22 +08:00 个人觉得, Electron 在性能方面调教得最好的应该是 vscode 了, 相当接近平台语言开发应用的体验. 但是嘛, 你看市面上有几个 Electron 应用能调教出 vscode 这种水平.... |
2 lsk569937453 2024-03-20 08:55:38 +08:00 golang:wails rust:tauri js: Electron 剩下的就是 windows 系的了,都是开源的(MIT or Apache 2 协议),允许商用。 |
3 Eiden 2024-03-20 08:57:42 +08:00 avalonia |
4 villivateur 2024-03-20 08:58:01 +08:00 嵌入式场景可以用 lvgl |
5 Vaspike 2024-03-20 09:04:08 +08:00 kotlin compose(跨平台+可商用),用这个框架做过几个商用产品,性能明显高于普通的 Electron |
6 ma46 2024-03-20 09:06:10 +08:00 跨平台可以用 flutter |
8 monkeyWie 2024-03-20 09:12:44 +08:00 flutter +1 |
9 suuuch 2024-03-20 09:13:08 +08:00 最近看到一个比较神奇的,用 godot 游戏引擎做桌面应用。。。 |
10 iorilu 2024-03-20 09:16:20 +08:00 没有匹配的, 毕竟 qt 是个极为庞大的项目, 也积累了这么多年 哪些基于 web 技术的, 无论性能, 功能肯定都不可能完全替代 个人觉得, 如果不是非要用 js 之类的, 确实可以考虑 flutter 我觉得 flutter 很有前景, 最近也在看看 |
12 wu67 2024-03-20 09:18:35 +08:00 @Honye 我觉得还行吧, 这玩意流畅度貌似跟内存大小有关系, 我在 32G 的 mini 上跑 vsc 比在 16G 的 mbp 上反应要流畅一点, 还是 intel 芯片的 mini... 但是越来越重是真的, 花里胡哨的小功能时不时就蹦一个出来... |
13 momo1999 2024-03-20 09:18:48 +08:00 我们把 qt 换成了 flutter ,但是不算平替。 |
@nekomiao #11 可以用的 我给的建议是不要从文档学起,直接 IDE 里新建一个 compose 项目,试一试他的组件 |
15 Vaspike 2024-03-20 09:20:59 +08:00 @Vaspike #5 添加一点:根据我之前的使用体验,kotlin compose 还有一个巨大的优势,那就是可以使用 kotlin 协程 |
16 debuggerx 2024-03-20 09:22:24 +08:00 用 flutter 的项目越来越多了 |
17 Jirajine 2024-03-20 09:26:13 +08:00 iced:popos 用 rust 重写了一套 DE 所使用的框架。 slint:原 Qt 团队成员搞得类 qml/qtwidget 框架,授权方式和 qt 类似。 gtk4:比起 qt 强绑定 cpp, gtk 各种语言的 binding 都可以用。 楼上那些可以称作 electron 的替代品,但不是 qt 的替代品。 |
18 Lambert2022 2024-03-20 09:26:33 +08:00 可以看看 Arc 浏览器团队的成果,它们的 Windows 客户端也是用的 Swift |
20 iorilu 2024-03-20 09:28:39 +08:00 @Jirajine slint 看到过介绍, 原来就是 qt 的人搞得阿, 授权类似? 看来也很麻烦, 不折腾了, 还是搞 flutter 算了 |
21 momo1999 2024-03-20 09:29:18 +08:00 @iorilu 我们就是做点小工具,反正以前的核心功能 C++编译成 flutter 插件,flutter 本身提供一层皮就行。 |
22 Biye9012 2024-03-20 09:29:31 +08:00 看你的需求吧, 我用过 PyQt PySide Electron Flutter; Electron 的 UI 效果更漂亮, js/ts 也有比较多的三方库可以用, 但是启动时真的慢, 一个小工具要几十秒才能启动; PyQt PySide 基于 Python 强大的社区能力, 写软件的时候有各种三方库可以用, UI 方面比较简陋, 如果想调的比较好看需要时间; Flutter 目前在桌面端还比较弱势, 极客可以尝试, 普通开发者还是不建议当小白鼠; 我用 Flutter 做过一个 Excel 数据分析的工具, 结果三方库在读取 Excel 时读取到的是单元格对应的公式, 读不出来计算后的结果; 目前从我的使用来看, 比较偏向 PyQt PySide |
23 Xbathy 2024-03-20 09:30:16 +08:00 flutter 不是要凉了么? |
24 hiplon 2024-03-20 09:31:11 +08:00 fpc:lazarus |
26 lstz 2024-03-20 09:41:56 +08:00 via Android 我也计划用 qt 写 laftools 的桌面版,但是它的中文字体看起来好不舒服.... 查了一下好像无解,这字体看起来很累 |
27 antonius 2024-03-20 10:03:20 +08:00 用 ImGUI 很多年了,写工具很顺手,扩展很多,性能也不错。 以下是我常用的几个库,能满足绝大部分需求。 https://github.com/ocornut/imgui https://github.com/floooh/sokol/ https://github.com/nothings/stb https://github.com/mattiasgustavsson/libs |
28 BingoXuan 2024-03-20 10:34:03 +08:00 @antonius 确实,imgui 写工具还是很顺手的。最近一个外包后悔没用 imgui 做,不然当天就做完了。还拖了几个星期。 |
30 datadump 2024-03-20 10:44:44 +08:00 首选 Electron ,其次 tauri , 再次 flutter |
31 saturn7 2024-03-20 10:58:33 +08:00 wxWidgets |
32 iold 2024-03-20 11:00:08 +08:00 avalonia +1 ,刚把公司做加密狗的工具升级了。 |
33 lwlizhe 2024-03-20 11:18:27 +08:00 话说各位的多窗口问题没考虑么,我们这用宁可用 QT 也不用 flutter 的原因就在此…… 如果真考虑性能的话,QT 好像还真没啥平替方案,性能方面 QT 确实是吊打,调教的确实好 |
34 Severn 2024-03-20 11:19:33 +08:00 unity 游戏开发行业,我直接 unity 开发应用程序。哈哈 |
35 laters 2024-03-20 11:22:52 +08:00 flutter |
36 butubird439 2024-03-20 11:32:27 +08:00 Eclipse RCP ? |
37 Jirajine 2024-03-20 11:42:18 +08:00 @iorilu #20 没办法,再造一个 Qt 肯定得要钱的,不过目前只有嵌入式平台的专有软件需要购买授权(不过它们目前也只有嵌入式平台宣称达到 production ready ) |
38 sloknyyz 2024-03-20 12:00:54 +08:00 每次说 electron 都有人拿 vscode 出来说什么只有大厂才能优化,属实根本不知道自己要什么。你要是用 electron 做个编辑器,那确实对标 vscode 但大部分开发者拿 electron 真的会去做编辑器吗? 不做编辑器的情况下,真的有那么多地方需要你优化吗? 稍微把代码写好点用户用起来体验就不错了。 说白了就是个套壳浏览器,那么多网站在浏览器上都没见体验糟糕,说明你只要把前端的工程做好,使用 electron 的用户体验也不会差。 |
39 weeei 2024-03-20 12:16:29 +08:00 @Lambert2022 Swift for Windows 只有一个官方开发者在支持,ARC 好像没有提供 PR ?而且官方仓库里的代码里面好多细节还没有实现,个人项目用会很难受。 |
40 lujiaxing 2024-03-20 13:53:31 +08:00 Electron 挺好的啊, 非啥必须要用 QT 啊... 又简单又好看. 哪儿还有这么好的框架... |
41 zhenwang 2024-03-20 13:55:04 +08:00 列举些跨平台的: Rust:iced (支持多窗口) C/C++:wxWidgets (对各平台原生封装) C#:avalonia Kotlin:kotlin compose 另外,还有一种模式就是,底层基于各平台的图形绘制 API ( OpenGL 、Metal 甚至是 wgpu )作为绘图能力,然后上层封装各种组件绘制的库,来“画”组件,好处是只要设备能画图,就能渲染组件,但是对原生多窗口支持不确保 OK 。这种方案有:Flutter 、各种立即模式渲染库( Im 模式 GUI ),甚至一般 Web 网页。 |
42 xieren58 2024-03-20 14:08:19 +08:00 |
43 jgh004 2024-03-20 14:12:23 +08:00 |
44 yyt6801 2024-03-20 16:13:52 +08:00 C++技术栈的话没有可以替换 QT 的,性能的话也基本没有可以比 QT 优化的更好了(参考 WPS ),倘若用户的配置低一些,差距就更明显; QT 的版权问题绕不过去 |
45 Yjhenan 2024-03-20 17:32:39 +08:00 C#可以用 avaloniaui 有中文文档 https://docs.avaloniaui.net/zh-Hans/docs/welcome |
46 jones2000 2024-03-20 17:39:33 +08:00 套壳浏览器 CEF |
47 R4rvZ6agNVWr56V0 2024-03-20 17:44:08 +08:00 wxWidgets |
48 xuelu520 2024-03-20 18:01:08 +08:00 别再推 flutter 了,卡的要死。 |
49 9dP06m83vIV00l72 2024-03-20 22:07:21 +08:00 袋鼠使用 GTK4 + Vala 构建的, 完整工具链:MSYS2 + Vala + Meson + VS Code (Vala) + NSIS ,用起来很顺,目前没遇到啥问题。 |
50 9dP06m83vIV00l72 2024-03-20 22:09:56 +08:00 袋鼠使用 GTK4 + Vala 构建的, 完整工具链:MSYS2 + GLib/GTK4 + GtkSourceView + Libsoup + Template-glib + Vala + Meson + VS Code (Vala) + NSIS 用起来很顺,目前没遇到啥问题,欢迎大家试试这个方案。 |
51 9dP06m83vIV00l72 2024-03-20 22:10:54 +08:00 最近又搭配了阿里的 通义灵码 AI 支持,撸码变得更丝滑了。。。 |