最近看到几篇类似的讨论: https://www.v2ex.com/t/1005711 https://www.v2ex.com/t/1005903
正好我也面临类似的问题,合理讨论下,先说明下需求:
基于以上需求,感觉 Electron 是最适合的,有没有人提供下不同的思路见解?
101
Perry 321 天前 via iPhone
@rekulas 又一个把程序员群体当作所以用户群体的人,美国这么多人用 Discord ,Slack ,Microsoft Teams ,照你这么说这三家公司不都得关掉这些产品?
|
102
Perry 321 天前 via iPhone
我不知道说 electron 臃肿、卡是人云亦云会是啥? VSCode Slack Microsoft Teams Discord 也是 Electron 也没见所有人骂他卡,正常用户谁知道一个 app 是不是 Electron 写的,是不是你们知道了 electron 自动刻板印象觉得它臃肿、卡了?
|
103
Perry 321 天前
https://www.electronjs.org/apps
再补充一个,不知道什么时候 Electron 在国内这么不受待见了,北美产品用 Electron 不要太多。如果一个产品用 Electron 就代表它臃肿,卡,我不懂为什么这么多公司会用 Electron ? 当初你们不是还把 Obsidian ,Notion 捧上天了的么?怎么没人用完这些产品说他卡,臃肿? |
104
fuermosi777 321 天前 1
v2ex 啥时候添加一个投票功能。。。
|
105
jqtmviyu 320 天前
electron 只是大多数优化得差而已.
如果不卡, 是不是 electron 关系不大. 我现在常用的 electerm qq obsidian 都是 |
107
wazggcd 320 天前 via Android
@rekulas 你的观点是你想当然,普通应用改成套壳,是大势所趋,你可以不接受,但这就是趋势。
vscode 的成功充分证明套壳流畅是没问题的,没见有谁说 vscode 不行,得用原生 ui 开发的。 所以,接受现实,拥抱变化。 |
109
langhuishan 320 天前
@nowgoo 比如做的程序编译成 AAA.exe 运行之后就会在 C:\Users\用户名\AppData\Roaming 文件夹下生成一个 AAA.exe 的文件夹。里面 EBWebView
|
110
yopv2 320 天前
tauri + 1
|
111
simo 320 天前
讨论语言,框架这些,总觉得是多学点就行了。每种语言、框架、库都有适用范围,所以学的是限定条件和语言本身。
GUI 应用,我的话,c/c++ go python flutter(dart) javascript 都会一点,现在一般这么选: 小工具,go fyne ,pyside ; 大一些的,c++ QT 、c#; 移动端+PC 端 flutter ; 快速开发,生命周期短的(不是很熟悉,并且安装程序都比较大),electron 。 |
112
SiWXie 320 天前 via iPhone
pyqt
|
113
sanzrolee 320 天前
如果还得做移动端,那优先选 flutter ;如果桌面端和移动端功能没有高度重合,那么 electron 也是可以的,移动端就用 uniapp 写; Qt 则是得懂点 C++,对开发者的门槛相对较高,如果楼主懂,那自然 Qt 最好。
|
115
rekulas 320 天前
|
116
nowgoo 320 天前
@langhuishan 貌似是 WebView2 组件必须要创建这么一个文件夹。
|
117
kevinlq 320 天前
投 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 |
118
vialon17 320 天前
Qt 用户+1 ,但学起来真的挺难的。
|
119
panjk0518 320 天前
桌面:看您的要求我支持 Tauri / Electron ,同时希望 Avalonia (“跨平台 WPF”,我很喜欢 .NET / C# 可惜 .NET 框架一般要单独安装 Runtime) / Qt 好好发展。
移动:React Native / UniApp / Flutter 个人建议桌面 / 移动端分开写,不要用 Flutter 之类的框架写桌面端,这些本来定位是移动端的框架,做出的界面对桌面用户很不友好,与系统极为割裂,尤其是工具类的产品,更需要界面简洁好用。 |
120
FightPig 320 天前
如果面向用户有小白的话,老实用 electron 吧,什么 tauri ,国内 win7 用户好多根本装不起来,因为有人还在用没更新 sp1 的 win7 ,如果面向是程序员等用户,那 tauri 啥的可以直接上
|
121
acctv2 320 天前 3
@rekulas 你这说了半天还是在小众群体里自嗨。
你现在随便找一家跟互联网、软件开发完全无关的公司,或者机关单位,去问问你知道 electron 是什么吗?看看知道的有多少。这我还是给你筛选了一批高知群体呢。继续下沉,去菜市场上问,你看看有多少知道?更别说还性能对比了。 我已经说了你这些都是数码圈小白,说白了就是喜欢捣鼓又半懂不懂的,你跟看不懂人话似得。 |
122
acctv2 320 天前 1
@Perry electron 唯一的硬缺陷就是打包体积大,其他的其实都不是硬缺陷。尤其是对 GUI 性能不敏感的应用,electron 非常合适。
除了那些高度 UI 性能敏感的应用,例如高帧率数据绘图之类的需求,其他的如果体验特别很卡基本都是程序员能力不行,这些人去写 Qt 和 WPF 一样卡。 v2 上说白了很多也都是半懂不懂的。 |
123
jworg 320 天前
在我这 qt 远大于 electron ,原因我自己也想了的,非开发者用户大部分电脑内存都是 8G 甚至还有不少数量 4G 内存的。electron 就是不流畅,连 vscode 都不流畅,所以我给他们推 vscode 他们都觉得远远不如 notepad++ 好用。16G 32G 内存加固态硬盘运行 electron 当然流畅啊,可是大部分人有吗,脱离运行环境就在那那说我感觉我感觉有意义吗。
|
126
janus77 320 天前
额,我不支持 electron 的唯一理由是作为终端用户来说,electron 太动态化,容易搞小动作,我知道这不是框架的错但是我只能维护消费者利益,没办法。而且这个问题基本上是从根源产生的,无法解决。
|
127
tushan 320 天前
我投 Electron 一票。跨平台的桌面开发框架,确实很方便。
|
128
nightsky 320 天前
我也投 electron 一票,做的好的 electron 应用一大堆,卡成屎的也一大堆
|
130
oisadfo 320 天前
用 c++的大部分都用 QT 吧? 不是我们选择了 GUI 而是我们熟悉的语言限制了我们使用 GUI 的范围。
|
131
DOLLOR 320 天前 via Android
作为一个很少为桌面平台软件掏钱的用户,我不参与这个争执了。
我觉得,哪个技术加班少,就选哪个。🐶 |
132
mmdsun 319 天前 via iPhone
作为开发我投 Electron
|
133
bigtear 318 天前
@holulu 不是,cow 的意思是写时复制,不是复制的时候写...
简单来说就是支持 cow 的文件系统内是不会存在两份相同的数据块的。 一个文件你可以理解为指针,数据块通常是文件系统中的页( page )或块( block ),只有在需要修改数据时,才会进行写入数据块操作。 |
136
mclxly 318 天前
熟悉 golang 就 wails ;熟悉 rust 就 tauri 。
|
137
obulks 238 天前
作为前端我投 electron ,首先我需要程序是跨平台的,支持 windows 、linux 和 mac ,Windows 最低支持到 win7 ,liunx 需要支持 x86 、arm64 架构 cpu 的操作系统,包括国产系统和普通发行版,用户的运行环境完全不可信,依赖 webview 的框架我是绝对不考虑的,并且 webview 对 es 标准的支持情况也不一致,对于 web 前端开发,我相信大家都会希望用户的浏览器环境是最高版本的,能支持最新的特性,electron 能强制用户使用支持所有新特性的 chromium ,我是支持的。
其次是对于界面的编写,web 前端生态和开发效率就是第一,大量开源的 ui 组件库是其他原生渲染的 gui 框架不具有的,想要实现一个定制化高一点的组件,比如带图标的菜单树组件,一个支持参数配置并带有预览功能的上传文件组件,对于 web 来说,是很容易实现和进行二次封装的,而其他框架都要花费时间精力去进行封装,做出来还不一定好看,老板也不会说给我一两周的时间先去学 qt ,然后我做的时候慢慢踩坑解决问题。 我认为,做 gui 程序,一定是将所有依赖,都集成在整个程序中,用户的环境完全不可信,我是没心思指导不懂电脑的小白用户安装这个安装那个的,electron 缺点是有,但是它是最符合我这边需求的框架了,用户可不懂什么 webview 还是 cef 的,用户需要的是能用和好用,其次是好不好看,不要老是把这种追求极致的想法追加给用户,还有这个年代还执着于桌面端应用程序大小的,我实在无话可说。 |