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

355 天前
 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 是最适合的,有没有人提供下不同的思路见解?

20732 次点击
所在节点    程序员
138 条回复
debuggerx
355 天前
[ [译] macOS 上 Flutter Desktop 与 Electron 的性能对比]( https://juejin.cn/post/7018450473292136456)
虽然比较老的测试了,但是 Electron 对比 flutter 的资源占用差距可能比一些人以为的还要大。
wjd2002
355 天前
我的 PC 端 ui 开发推荐列表:
1 、老电脑,配置低,推荐:Delphi 、Qt
2 、轻量级应用,比如:数据编辑、Oa 应用等,推荐:C#、Qt 、electron (不熟,应该算 web 类的吧)
3 、偏底层控制类应用,推荐:Qt
最后,windows 平台推荐 C#,跨平台应用推荐 Qt (软硬通吃,横跨 windows 、linux 、mac 、android 、ios ,c++底座)客户端开发基本全包了。
wjd2002
355 天前
在 windows 平台下使用.Net 开发软件还是比较舒服的,打包后已经把运行时包都含进去了,比较都是微软自己的东西,兼容性基本不是问题,无论 C#/VB.NET/VC++都行。
Phishion
355 天前
用 Electron 写的 Postman 性能跟渣一样,又慢又费内存又占空间,对比 Paw 秒开高下立判,mac 上的 Steam 也非常烂,一个游戏启动器就能占用内存 1.5G
除了给开发者省事一无是处的东西。
debuggerx
355 天前
@lwlizhe QT 难啊,C++对比 ts\dart 难了多少,开发者数量也少至少一个量级吧?

PyQt 倒是简单了,但是运行效率到打包产物尺寸,跟 Electron 差不多了。

再来 QtWidgets 开发效率低,QtQuick 推广差资料少,Qt 项目打包部署解决依赖问题也比 Electron 和 flutter 这些麻烦,所以很多 Qt 项目适合定制系统和设备上运行,真想跨平台还得多花些精力。
wjd2002
355 天前
@wjd2002 在 windows 平台下使用.Net 开发软件还是比较舒服的,打包后已经把运行时包都含进去了,比较都是微软自己的东西,兼容性基本不是问题,无论 C#/VB.NET/VC++都行。
PTLin
355 天前
web 太成熟了,不选择 eletron 的原因可能是不喜欢糊 web 那套东西,喜欢更现代“gui”的开发体验
thomas15425
355 天前
Qt + 1
mgrddsj
355 天前
@bigtear #54 Windows 其实支持一个新的文件系统,叫 ReFS ,它也支持 CoW 的。不过它好像只有在 Pro 和 Server 版本的 Windows 才能用,而且一直没怎么推广,并不知道是什么原因。不过你有兴趣或许可以试试。
但我不认为文件系统级的 CoW 能解决多份 Electron 内核存在硬盘上的问题,毕竟每个版本的差异还是挺大的,以及这需要文件系统实时或定期 dedup 才行,毕竟这些文件不是复制的。
----------
我作为用户倒不太在意 Electron 的硬盘占用问题,只是觉得它的内存占用率有点令人难受,以及讨厌写得差的 Electron 应用的迟钝、笨重感(特别是 Microsoft Teams )。
开发方面,我正在学习 Qt ,并且也投它一票,它大概是目前各方面都比较平衡的一个选项了。不过未来我会期待 Compose Multiplatform.
tinybug
355 天前
此问题无解,我投大家自己熟悉的
zhch602
355 天前
@Worldispow 这不是很正常的么,屁股决定脑袋,难道你是个圣人天天为别人着想
Worldispow
355 天前
@zhch602 不好意思,我不是开发者,我是用户。
stinkytofu
355 天前
当你们还在争论的时候, 我已经用 javafx ( openjfx ) 交付客户端挣到钱了。推荐熟悉 java 的人用。
EngAPI
354 天前
因为没类似软件用,我面向 chatgpt 写了个很简单的 lazarus 程序,找到了当年 delphi 的感觉,据说这货还能在 android 上用.
andytao
354 天前
GLib/GTK + Vala(C# 原生版)写跨平台应用挺好的呀

袋鼠数据库工具就是用 GLib/GTK + Vala 写出来的,它已经是一个和 GIMP / Inkscape 比肩的一线大项目了,欢迎各位考察这个技术栈。
andytao
354 天前
https://www.datatable.online/zh/blog/001-why-choose-vala.html
miaomiao888
354 天前
卖菜的不吃自家菜
我怀疑你们有些开发者 面向浏览器编程的软件 自己都不会用。
vvdsaa
354 天前
@xausky #2 这么一说,mac 上把网页保存为 app 的功能还挺有前瞻性的
langhuishan
354 天前
@Norths wails 每个应用会在 c 盘生成一个程序名.exe 的文件夹搞的和病毒似的,这个有解决方法吗?
rekulas
354 天前
相反我投一个反票,electron 大大降低了产品的成功概率,因为现在的小白用户都学精了,会尽量避免选择 e 系全家桶

作为一个 electron 用户,有些软件只有 electron 版本,不得不捏着鼻子用,包括 joplin 钉钉 vscode 等,除了这些必需软件,我不会安装任何 electron 开发的东西,因为 electron 到目前为止都存在卡死问题,没有任何一个团队能优化该问题

所以在我看来 如果你用其他方案开发,可能只是节奏慢点,但用 electron 开发,基本就定了死刑了

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

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

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

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

© 2021 V2EX