最近好多 GUI 之争,我来给 Electron 站一票,理性讨论

354 天前
 Loxon

最近看到几篇类似的讨论: https://www.v2ex.com/t/1005711 https://www.v2ex.com/t/1005903

正好我也面临类似的问题,合理讨论下,先说明下需求:

  1. Win+Mac+移动端 桌面端为主用户群体,移动端会简单一些
  2. 工具类产品,除了 GUI 层面的需求外,核心功能会用到原生 OS 的 API ,所以各端必然有小部分核心代码是不一样的
  3. 整体 App 属于中等 App ,所以我不严格追求包大小,在我看来桌面端 50M~200M 都属于用户能接受的中等 App 的范畴
  4. App 里绝大部分以界面交互为主,Webview 有但也有限,可能仅仅辅助使用;性能要求也不高;
  5. 不希望用户主动安装依赖(之前基于.Net 开发的 Win App 需要用户手动安装依赖的痛苦回忆...)

基于以上需求,感觉 Electron 是最适合的,有没有人提供下不同的思路见解?

20721 次点击
所在节点    程序员
138 条回复
zed1018
354 天前
我对 flutter 本身没有什么负面看法,但是我觉得 Dart 是真的丑,我接受不了
xarthur
354 天前
写一个跨平台的 GUI 库需要的工作量太大了,所以要不用浏览器,要不用放弃跨平台吧。
buf1024
354 天前
这个问题没有最优解,只有适合和不适合自己或公司的技术栈,因为以上所以的技术栈都能完成对应需求,当然也有自己的优点和坑。对于 flutter 来说,桌面端的支持不并是很完善,比如多窗口等等都没有完善的支持,很多功能都是第三方插件支持的,而且,官方并将桌面的的优先级放到比较低的位置。所以如果采用 flutter 开发桌面端,必定会踩很多坑,不过这都不是什么大问题,一般都有解决方案,如果没有解决方案,自己也可以通过插件完善。

自己之前尝试用 flutter 写写桌面端,感觉还行,参考: https://github.com/buf1024/hiqradio
liuw666
354 天前
开发推荐 electron 。虽然我正在写 electron 客户端,但是电脑上 electron 的客户端能不装我就不装
ChrisFreeMan
354 天前
我差一点就上了 flutter 的船了,直到它的开发工具和 Chrome 绑定。
maxxfire
354 天前
相比臃肿和 dart 而言,我选择臃肿,毕竟以后臃肿有可能会被集成至操作系统
GeekGao
354 天前
我用 webview 自己封装
SmartTom
354 天前
Qt ,看了半天好像没人用
murmur
354 天前
除了苹果用户还有人介意 electron 的尺寸么,tb 级硬盘不是想装几个 chrome 装几个,32g 内存愿意开几个就开几个
jeevSong
354 天前
@xausky 这个很有趣呀,我倒觉得 UI 统一放在浏览器中挺好的
remember5
354 天前
作为开发,我选 Electron ,作为用户,Electron 的应用我尽量不装
duanxianze
354 天前
这帖子很多人不要自顾自的代表用户,市场已经证明了大多数用户并不在乎多出那几百兆的空间,实际上的问题是很多人 Electron 用的太差了,导致卡,用 qt 之类的门槛高,排除了很多技术不行的程序员。
就我个人来说,并不在用啥技术,老板给钱就行
duanxianze
354 天前
这帖子很多人不要自顾自的代表用户,市场已经证明了大多数用户并不在乎多出那几百兆的空间,实际上的问题是很多人 Electron 用的太差了,导致卡,用 qt 之类的门槛高,排除了很多技术不行的程序员。
就我个人来说,并不在用意啥技术,老板给钱就行
bigtear
354 天前
不可否认 electron 等前端技术写客户端是一个大趋势,
好多人不喜欢 electron 的原罪就是一个软件带一个 chromium 内核在硬盘上。

很多人认为会有文件重复,但如果系统支持写时复制( Copy-on-Write ),相同的文件在底层只会保存一份。
虽然可能内核版本不同,不同文件也有不少,但多少会让现状有所改善。

MacOS 的 APFS 支持 cow ,反观 Windows 的 NTFS 不支持所以会占用大量存储空间,
但 Mac 和 PC 的硬盘价格也差距悬殊...

DISM++ 有个硬链接合并的功能可以合并重复文件,但它主要是针对系统做优化的。

还是希望 Windows 能早日原生支持那些高级文件系统吧。
(要是 Windows 12 能用上我就立马从 Windows 10 钉子户升级😶)

现在好像只有一个社区开源的驱动 [WinBtrfs]( https://github.com/maharmstone/btrfs) 让 Windows 能用上支持 cow 和透明压缩的 btrfs 文件系统,但目前对系统盘使用 btrfs 文件系统的支持也不是很完善。
Norths
354 天前
wails ,写了好几个工具了
lwlizhe
354 天前
话说 QT 为啥没人提啊,我们给桌面端推 Flutter ,结果被 QT 打败了……结论上是 flutter 在桌面端还是有几个挺致命的问题的,QT 大家都不选的原因是啥?
huangliu
354 天前
我近半年用得比较多的是 wails ,刚好最近写了篇关于基于 webview 的 app 框架的一些个人观点。打算过两天发 v 站上给大家多一个参考
renmu
354 天前
没有我 electron ,那些 Linux 能有跨平台应用(狗头
ggvoking
354 天前
作为用户,我很讨厌 electron ,能有其他非 electron 替代品的 app 都会优先考虑。我自己平时做些工具就 Avalonton 和 Qt 。.net 是可以不需要用户安装环境的,就是可执行文件大些,但是远比 electron 更小更优。
ggvoking
354 天前
@ggvoking 打错了,是 Avalonia

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

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

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

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

© 2021 V2EX