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