
flutter 似乎不支持多窗口,pass ,
比如 QT/MAUI/Avalonia/JetPack Compose/,哪个容易上手?
基于 web 的技术, Electron 项目太大,性能要求可能不行。 tauri 尝试了一下,rust 太难写业务太复杂了。 wails 怎么样?
1 murmur Jan 24, 2024 electron 性能哪里不行了,不就是启动慢点么,浏览器的性能挺好的,尤其是 chrome ,比菜鸟写的桌面程序好多了,ui 多还炫酷 |
2 wuruxu Jan 24, 2024 桌面软件开发 还是 QT 比较靠谱 wireshark , telegram , zoom 都是 QT 写的 |
3 stinkytofu Jan 24, 2024 javafx |
4 mainjzb Jan 24, 2024 wails 3.0 才有多窗口,目前似乎处于 beta 版本 tauri 的多窗口似乎不支持 linux 多窗口是硬需求的话,这些新框架的坑还挺多,不想踩坑的话以上似乎只有 qt 和 Electron 符合你的需求。 |
5 guguji5 Jan 24, 2024 刚拿 electron 试了试手,,感觉很适合前端, |
6 hez2010 Jan 24, 2024 via Android Avalonia 对非线性动画支持的很好,还支持 gpu interop ,还是在场唯一一个有 compositing renderer 架构的自绘 UI 框架,可以做到无论 UI 线程是否卡死都能流畅进行的隐式动画。 配合 FluentAvaloniaUI 可以做出很漂亮的 fluent design 的 app 。 另外它还支持 nativeaot 编译到机器码直接出二进制,aot 后可以做到双击后瞬间启动。 |
7 rwecho Jan 24, 2024 via Android Blazor Maui+blazor 或者 avalonia+ blazor |
8 rwecho Jan 24, 2024 via Android 说下原因,首先你提到业务,那基本上如果能用前端框架必然是最好的。又提到 eletron 太大和性能问题,对于 blazor 可以把耗时的逻辑放到 native 里面,页面注重展示。并且打包不大,webview2 另外算。 但是如果你想支持 xp 那就算了。 技术栈 c# blazor Javascript tailwindcss 你可以参考下 https://github.com/rwecho/V2ex.Maui |
9 iorilu Jan 24, 2024 via Android 愿意学习的话,还是 pyqt 靠谱,跨平台方便 |
10 ashong Jan 24, 2024 via iPhone cef+ts |
12 xiandao7997 Jan 24, 2024 |
13 antonius Jan 24, 2024 业务复杂的话,前端用 Electron ,C++ Qt 。c#用 wpf/uwp 。 业务不复杂的话,c/c++用 nanovg/imgui 都行。 |
14 yKXSkKoR8I1RcxaS Jan 24, 2024 QT ,唯一选择 |
15 renmu Jan 24, 2024 via Android 人 vscode 怎么不卡(狗头 |
16 tyzandhr Jan 24, 2024 via Android compose 还是前端的风格,和桌面不是很搭 |
17 jlkm2010 Jan 24, 2024 可以试试同样基于 webview2 的 Neutralinojs https://neutralino.windhc.com/ |
18 xieren58 Jan 24, 2024 Avalonia |
19 tool2d Jan 24, 2024 都 2024 年,有什么不懂问 gpt 就行,前端和客户端技术,已经没有很大隔阂了。 以前前端写太多,今年我也试试用纯 GPU 写本地客户端程序,也许会挺有意思。 反正 gpt 是万能老师傅,一般不会翻车。 |
20 dc46555ad Jan 24, 2024 颜值第一,我推荐 electron |
21 lyusantu Jan 24, 2024 wpf |
22 jones2000 Jan 24, 2024 win32 |
23 yuyue001 OP |
24 yuyue001 OP @hez2010 试了 Avalonia ,axaml 文件太大,拆分组件时传递参数总是失败。ChatGPT 也解决不了,现在除了 11 版,ChatGPT 好像还没学到。 一方面感觉 ChatGPT 变笨了,另一方面,ChatGPT 做技术选型讨论的时候,它总是和稀泥,这也好,那也好。 |
25 wakarimasen Jan 24, 2024 via Android 这也算月经贴了。 你要做什么东西,你团队的人都会什么技术你是一概不谈,既然这样的话直接 PyQt 吧 |
26 realJamespond Jan 24, 2024 没人提 flutter?虽然不懂 |
27 xiaoxinshiwo Jan 24, 2024 python 就 QT |
28 alleluya Jan 24, 2024 @realJamespond 图啥呢 op 又不考虑移动端 多窗口支持也有问题 单纯桌面客户端技术选择足够纠结了... |
29 vialon17 Jan 24, 2024 推一下 qt/pyside 原因:名字好听 |
30 murmur Jan 24, 2024 @realJamespond flutter 那屎语法太难学了 |
31 Befehishaber Jan 24, 2024 Avalonia |
32 Promtheus Jan 24, 2024 有大佬知道 QT 的界面怎么美化吗 我写的界面有点丑啊。 |
34 langhuishan Jan 24, 2024 @iorilu 打包发布的时候,就各种打不开。 |
35 broken123 Jan 24, 2024 必然是 flutter 开发 1 年半 已经喜欢上了 |
36 yidadaa Jan 24, 2024 别选了,electron 除了打包体积大点,开发体验和生态都是断层领先,根本不存在你说的性能问题。非得注重体积,就用 flutter ,但是 flutter desktop 也没么正经团队在用,喜欢踩坑可以试试。Qt 和 WPF 就别看了,老登公司才用这些玩意儿,开发体验还停留在上个时代。 |
37 xieren58 Jan 24, 2024 但凡用过原生开发, 就不想用 electron 这玩意了... electron 启动慢的一逼... 用 Avalonia 做了几个项目了... 从 electron, wpf 转到 Avalonia 的... |
38 txzh007 Jan 24, 2024 还是看需求,如果开发一个窗口套壳,将第三方 exe 包裹在自己写的应用里,这个需求 electron 就完全没办法做. |
39 ayang23 Jan 24, 2024 qt 或者 pyqt ,最近我把各种方案都测试了一遍。当然 electron 也不错,和 qt 生态位完全是错开的。 qml 也是套了一个浏览器,虽然性能比 electron 高,但写起来肯定不如 react 之类的爽,编译慢,错误提示垃圾,关键还有学习成本,排除。 |
42 atpex Jan 24, 2024 electron 做出来的东西怎么说呢,有一种黏糊糊的感觉,看着好像很 cool (寨味儿很冲),但总觉得哪里不舒服。 |
43 murmur Jan 24, 2024 @atpex 这还不是 ui 问题,好看的应用是要自己设计的,qq 音乐这些不还是 webview 套壳,只不过不是直接 electron ,改成 cef 了 |
44 lujiaxing Jan 24, 2024 Electron 是首选。 别关心什么内存占用的问题。那不是你该关心的问题。除非涉及到 C++ 交互,否则 Electron 永远是不二之选。界面美观开发简单。没什么比 Electron 更合适的。 然后其次是 Avalonia 。性能强悍内存占用低,可 AOT 所以也不需要什么 .NET 环境。打包好了到处都能用。尤其涉及到界面复杂或者带动效/3D/图表的情况下,Avalonia 基本上可以说是唯一选择。 最后是 QT 。老牌 GUI 开发框架了。性能极其强悍,但是绑定 C++。对 C++ 熟悉的可以考虑。 |
45 murmur Jan 24, 2024 推 flutter 的,挑明了说,完全的 kpi 导向,难用,难写,但是容易出 kpi ,别人不好接 electron 是最适合的,国内用的也最广,ui 好设计,好学,会做网页就会做程序,各种 ui 库随便用 如果看重底层就 cef ,都是 h5 套壳,看是壳有多重而已 再看重底层就 qt ,wps ,davinci 这些都是 qt 做的,再头铁点,比如 affinity photo ,怀疑真的是双端自己写,一堆 c 和 wpf 的库 |
47 dcsuibian Jan 24, 2024 如果是我来开发的话,我会优先考虑直接做成 Web 版(毕竟现在 Web 能调用的 API 也很多),如果真的本地调用特别多再考虑用 Electron |
50 lstz Jan 24, 2024 via Android 我很是推荐 tauri ,我的开源项目 github.com/work7z/LafTools 就计划用它来作为桌面端的支持。 我这个项目是 go 写的,但为什么桌面端不用 wails 而是 tauri 呢?原因如下 1 ,支持桌面呼出,这个貌似 wails.io 目前还做不到 2 ,软件体积小,这对于开箱即用的工具箱来说尤其重要,如果你想体积 30mb 以内,就用它! 3 ,rust 逼格高。当然,我不想拉踩,只是我个人的角度来看.... 4 ,web 生态直接用起来! 其实,很多人希望原生 ui ,无非就是太卡了或者不方便用。但其实还是用户体验跟程序设计的原因,用户只在乎颜值!功能!效率! 其他内存占用多少之类的,很少会有人真的这么看 |
51 lstz Jan 24, 2024 via Android 至于 rust 难度的问题,其实有了 gpt4 ,很多困难都会迎刃而解,再不济也有现成的 awesome-tauri 给你用 关于 electron ,假如我要做面向大众的产品,那是肯定用的,无论是兼容性还是视觉统一性 然后就我个人而言,我的产品用户都是专业人士,他们应该都会安装最新的浏览器,不太可能会用 ie11 了吧。。。 |
52 yooomu Jan 24, 2024 electron 啊,好写,好看,跨平台。除了占内存占硬盘。至于性能,js 性能挺强的,不过我不知道你对性能要求有多高 |
55 leyoumake1997 Jan 24, 2024 大项目的话,后端业务功能较多,推荐 wails 。目前 wails 也支持多窗口(若是你觉得复杂可以窗内多 Dialog )。wails 打包最小体积也只有 10MB 左右(客户端运行只需要安装个 Edge 扩展即可)。另外 wails 是基于 golang 研发出来的,天生并发性能好,组件库都是源生代码。 |
56 duan602728596 Jan 24, 2024 Electron 启动慢,可能是初始化的时候启动慢,也可能是启动时同步加载了所有 node 的模块 |
57 rockxsj Jan 24, 2024 avalonia 还能用 C# 美滋滋 |
58 wangtian2020 Jan 24, 2024 electron 不是什么好就用什么,而是我会什么就用什么,我只会 electron ,最近在用 electron 狠狠的写上位机跟底层通信,nodejs 直接 Javascript 一把梭了 |
59 iorilu Jan 24, 2024 |
60 Nosub Jan 24, 2024 via iPhone 不建议 QT 和 WPF ,用 electron 或是 Java 的 swing 都可以,学习 c++的时间成本太高,c#客户端生态太差,flutter 不了解不评价,你就想想现在主流前端和后端用的啥,就可以做出选择了。 |
61 jackOff Jan 24, 2024 qt+go |
62 jianchang512 Jan 24, 2024 via Android pyqt 性能够用,开发方便快速 |
63 kaedeair Jan 24, 2024 后排提醒 pyqt 是 gpl 协议 |
64 rb6221 Jan 24, 2024 你性能要求很高? QQ 都用 electron 了,不要预设一些有的没的,我个人猜你是非企业级项目,性能要求完全够用了。(我为什么猜你是非企业级项目?因为你压根没提到 WPF ,看来是个人开发,喜欢用新技术的那种) 不需要跨平台的话,win 直接选 webview2 ,比 electron 包体小 |
65 unbridle Jan 24, 2024 目前来看支持 qt 和 electron 的最多,我更熟悉 python 所以倾向于 qt ,但是感觉 qt 的界面要想做的好看,方便程度还是比 electron 差了一些 |
![]() | 66 Elroooo0Y Jan 24, 2024 pyside6, 上手难度低 ,快速实现功能. |
67 iorilu Jan 24, 2024 via Android qt 最大问题就是没那么多 web 组件库,样式难看点,但一般工具软件也不用太在意 很在意外观的建议还是用 web 那套 当然了,qt 本身也有 webview 组件,可以做到 electron 一样的事 |
68 ty10086 Jan 25, 2024 正好因为项目 GUI 界面全平台兼容需要,翻到历史贴有人对比过各种。 最后我选择了 H2O WAVE (水波) https://wave.h2o.ai/docs/getting-started H2O Wave 是一个软件堆栈,用于完全使用 Python 构建美观、低延迟、实时、基于浏览器的应用程序和仪表板,而无需使用 HTML 、Javascript 或 CSS 。 借楼问问:以后长期用这个 widgets 组件开发 GUI 了,有人愿意做长久支持吗? |
69 lijy91 Jan 25, 2024 @yidadaa 微信输入法目前就在用 Flutter desktop ,还有 360 的极连快传也在用,我最近搞了个仓库做了个 flutter desktop apps 清单 https://github.com/leanflutter/flutter-apps |
70 sunmker Jan 25, 2024 还有人说“c#客户端生态太差”??? |
71 layxy Jan 25, 2024 lazarus,跨平台,前提你得会 Free Pascal |
72 v2yllhwa Jan 25, 2024 via Android 其实 pywebview 也不错,nuitka 打包不到 10M ,不过没有 tauri 和 wails 成熟 |
73 mh Jan 25, 2024 QML FluentUI ,之前看到这个国人开发的库,颜值不错,不知道实际用起来怎么样 |
74 googleaccount Jan 25, 2024 不知道选啥就选 Electron |
76 antfu Jan 25, 2024 新版 qq 就行 electron 感觉还行 |
77 daokedao Jan 25, 2024 新版 qq 用的是 electron 还是 cef ? |
78 masterclock Jan 25, 2024 在用 qt ,qml ,总结就是别用 qml ,别用 qml ,别用 qml ,谨慎选择 qt |
79 ShadowPower Jan 25, 2024 @sunmker 也许是和 Web 生态比…… |
81 hongyi2020 Jan 25, 2024 想做一个图像处理相关的软件,推荐用什么开发? |
82 iDeveloper666 Jan 25, 2024 桌面端个人不太推荐使用 Compose Multiplatform 。 相比移动开发来说,只有可以继续用 kotlin 这一个优势,官方目前似乎没有提供一个比较完整的开发方案,路由/状态管理/基础的配置读写等等这些都依赖自己或第三方实现。 目前用来写了一个小工具,功能可以实现,但过程感觉很费劲。 |
83 HaroldFinchNYC Jan 25, 2024 真实一场持久战 |
84 HaroldFinchNYC Jan 25, 2024 我准备先试试 electron 和 wails 先做几个 app 玩具试试 然后再考虑下一步 electron 确实,除了体积大,启动不快,对于一个前端程序员,没有更合适的了 |
85 Nosub Jan 25, 2024 via iPhone @sunmker c#客户端生态的确差,你看过有几个互联网公司基于 c#开发客户端的例子,微软自己除外,做些简单的应用还好,你要要调用一些知名的第三方库,非常难受,比如 ffmpeg ,OpenCV ,sdl ,webrtc 这些。 |
86 xujinkai Jan 25, 2024 via Android WPF 套一个 Webview2 我目前是这么做的 |
87 BYDH Jan 25, 2024 比起现代化的桌面应用,我更倾向于在个人项目中写 Terminal GUI ,主打一个反差强烈 |
88 zsan3653nj Jan 25, 2024 wxpython |
90 yuhuai Jan 25, 2024 @Nosub 互联网企业要求不高的开发客户端短平快,但不代表没有,而且你说的所谓的知名第三方,nuget 上都有,就算没有,c#调用 c++ dll 混编也比 electron 这些简单,不要对你不了解的领域随意贴标签 |
91 fox0001 Jan 25, 2024 via Android @realJamespond #26 推荐 Flutter |
92 yangzzzzzz Jan 25, 2024 win 端还是 winui3 好用 |
93 ybz PRO 再等等,Flutter 马上就要出多窗口了 |
95 okhao8801 Jan 25, 2024 @murmur 还好吧,我写了好多年 Android 原生了,写了 flutter 之后发现太方便了,现在不太愿意写原生了,嫌太嗦,很多认识的人也是这个感觉 |
96 Nosub Jan 25, 2024 via iPhone @yuhuai 或是你举几个例子,国内互联网公司有用 c#做桌面客户端,开发比较成功的案例,不要把别人不用,一律说成别人不懂,别人追求短平快,都是别人的原因。 |
100 wang5635099 Jan 25, 2024 @stinkytofu 哈哈哈哈 |