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

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

20751 次点击
所在节点    程序员
138 条回复
Perry
355 天前
@rekulas 又一个把程序员群体当作所以用户群体的人,美国这么多人用 Discord ,Slack ,Microsoft Teams ,照你这么说这三家公司不都得关掉这些产品?
Perry
355 天前
我不知道说 electron 臃肿、卡是人云亦云会是啥? VSCode Slack Microsoft Teams Discord 也是 Electron 也没见所有人骂他卡,正常用户谁知道一个 app 是不是 Electron 写的,是不是你们知道了 electron 自动刻板印象觉得它臃肿、卡了?
Perry
355 天前
https://www.electronjs.org/apps

再补充一个,不知道什么时候 Electron 在国内这么不受待见了,北美产品用 Electron 不要太多。如果一个产品用 Electron 就代表它臃肿,卡,我不懂为什么这么多公司会用 Electron ?

当初你们不是还把 Obsidian ,Notion 捧上天了的么?怎么没人用完这些产品说他卡,臃肿?
fuermosi777
355 天前
v2ex 啥时候添加一个投票功能。。。
jqtmviyu
355 天前
electron 只是大多数优化得差而已.
如果不卡, 是不是 electron 关系不大.

我现在常用的 electerm qq obsidian 都是
SeaTac
355 天前
@Perry
我们公司用 slack
我老婆用 teams
体验很一般 只能说工作 im 能用就行
唯一的特例是 vscode ,确实不错
wazggcd
355 天前
@rekulas 你的观点是你想当然,普通应用改成套壳,是大势所趋,你可以不接受,但这就是趋势。
vscode 的成功充分证明套壳流畅是没问题的,没见有谁说 vscode 不行,得用原生 ui 开发的。
所以,接受现实,拥抱变化。
holulu
355 天前
@bigtear Copy-on-Write 不是在原文件复制的时候才起作用吗?安装应用又不是从其他应用里拷文件,除非操作系统在拷文件之前算 hash 再比对。
langhuishan
355 天前
@nowgoo 比如做的程序编译成 AAA.exe 运行之后就会在 C:\Users\用户名\AppData\Roaming 文件夹下生成一个 AAA.exe 的文件夹。里面 EBWebView
yopv2
355 天前
tauri + 1
simo
355 天前
讨论语言,框架这些,总觉得是多学点就行了。每种语言、框架、库都有适用范围,所以学的是限定条件和语言本身。
GUI 应用,我的话,c/c++ go python flutter(dart) javascript 都会一点,现在一般这么选:
小工具,go fyne ,pyside ;
大一些的,c++ QT 、c#;
移动端+PC 端 flutter ;
快速开发,生命周期短的(不是很熟悉,并且安装程序都比较大),electron 。
SiWXie
355 天前
pyqt
sanzrolee
355 天前
如果还得做移动端,那优先选 flutter ;如果桌面端和移动端功能没有高度重合,那么 electron 也是可以的,移动端就用 uniapp 写; Qt 则是得懂点 C++,对开发者的门槛相对较高,如果楼主懂,那自然 Qt 最好。
sanzrolee
355 天前
@Betsy QFluentWidgets ,需要付费¥ 238.88/年
rekulas
355 天前
@Perry 我说的很明确了 是普通用户,不是程序员群体


@wazggcd 什么叫想当然?我和我周围的朋友,用 electron 就没一个觉得好用的,所有的!所有的人用 vscode 都会卡,还不是卡顿,是直接卡死,必须重启解决,我们 cpu 排名 140-300 之间,intel amd 都有
nowgoo
355 天前
@langhuishan 貌似是 WebView2 组件必须要创建这么一个文件夹。
kevinlq
355 天前
投 Qt 一票,其次也有一些开源的组件库,开发起来挺快的。

比如这个 QML 开源库 QML FluentUI ,感兴趣可以看看: https://github.com/zhuzichu520/FluentUI

抽空用它模仿了微信界面,代码也开源: https://github.com/kevinlq/KChatQML

https://github.com/kevinlq/KChatQML/blob/master/images/chat2.png?raw=true
vialon17
355 天前
Qt 用户+1 ,但学起来真的挺难的。
panjk0518
355 天前
桌面:看您的要求我支持 Tauri / Electron ,同时希望 Avalonia (“跨平台 WPF”,我很喜欢 .NET / C# 可惜 .NET 框架一般要单独安装 Runtime) / Qt 好好发展。
移动:React Native / UniApp / Flutter
个人建议桌面 / 移动端分开写,不要用 Flutter 之类的框架写桌面端,这些本来定位是移动端的框架,做出的界面对桌面用户很不友好,与系统极为割裂,尤其是工具类的产品,更需要界面简洁好用。
FightPig
355 天前
如果面向用户有小白的话,老实用 electron 吧,什么 tauri ,国内 win7 用户好多根本装不起来,因为有人还在用没更新 sp1 的 win7 ,如果面向是程序员等用户,那 tauri 啥的可以直接上

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

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

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

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

© 2021 V2EX