最近好多 GUI 之争,我来给 Electron 站一票,理性讨论
source link: https://www.v2ex.com/t/1006050
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
最近看到几篇类似的讨论: https://www.v2ex.com/t/1005711 https://www.v2ex.com/t/1005903
正好我也面临类似的问题,合理讨论下,先说明下需求:
- Win+Mac+移动端 桌面端为主用户群体,移动端会简单一些
- 工具类产品,除了 GUI 层面的需求外,核心功能会用到原生 OS 的 API ,所以各端必然有小部分核心代码是不一样的
- 整体 App 属于中等 App ,所以我不严格追求包大小,在我看来桌面端 50M~200M 都属于用户能接受的中等 App 的范畴
- App 里绝大部分以界面交互为主,Webview 有但也有限,可能仅仅辅助使用;性能要求也不高;
- 不希望用户主动安装依赖(之前基于.Net 开发的 Win App 需要用户手动安装依赖的痛苦回忆...)
基于以上需求,感觉 Electron 是最适合的,有没有人提供下不同的思路见解?
shuax 2 小时 7 分钟前 8 我投 flutter 一票
|
xausky 2 小时 5 分钟前 https://webui.me/ 这个方案挺好的,唯一的问题是浏览器窗口归属浏览器应用,而不是自己这个应用
|
sunjiayao 2 小时 4 分钟前 flutter 是不是也能开发桌面应用
|
debuggerx 2 小时 4 分钟前 我投 flutter 一票
|
ramoudev 1 小时 55 分钟前 Electron 开发,多窗口多进程交互麻烦的要死
|
nielinjie 1 小时 54 分钟前 kmp ,有喜欢的没?
|
clue 1 小时 54 分钟前 3 我认为未来是 web 的, 大统一 UI 标准, 迄今为止最全面用的人最多的
举个类似的例子, 以前在 nodejs 兴起的时候, 因为 js 程序员的受众巨大, 导致能被 nodejs 重写的插件几乎都被重写了 而现在也有这个趋势, 比如开发代码连接蓝牙比较繁琐, 在 nodejs 下使用的是 noble 这个库, 而 w3c bluetooth api 标准发布后, 没多久社区就有人将它包装为标准 api , 使得 nodejs 开发可以与 web 对齐 |
thinkm 1 小时 52 分钟前 flutter 多线程支持太拉了,要不然我也选 flutter
|
qinjiang 1 小时 46 分钟前 支持 electron
|
blankmiss 1 小时 44 分钟前 不支持 electron ,不想要多个浏览器 只要一个就够了
|
oldManNewThought 1 小时 38 分钟前 via Android 桌面端,我选 tauri
|
ysc3839 1 小时 36 分钟前 via Android 我也推荐 Electron ,但是有的人就是纠结文件大小
|
yolee599 1 小时 32 分钟前 1 我投 Qt 一票,wxWidgets 一票
|
Knights 1 小时 27 分钟前 支持 electron
|
mxT52CRuqR6o5 1 小时 24 分钟前 我也是看好 web 类的方案,但不知道会不会有比 electron 更优秀的框架
|
Mogugugugu 1 小时 23 分钟前 1 我选 electron ,因为技术栈匹配度高,但是我投 Compose Multiplatform 一票,没什么,单纯希望他们打起来。
|
Yjhenan 1 小时 22 分钟前 avalonia 用 aot 编译,不用再装 .net 了吧?其 hello world 的 aot 产物用压缩包压缩下,也只有 10 兆大小
|
wyl986 1 小时 16 分钟前 electron 有一个好处:就是把一些 electron 特有的 API (主要是调用硬件的)直接绑在 window 上,然后用 electron 套一个网页;更新的话直接更新网页,可以避免更新整个 electron ,而且还可以无感强制更新; electron 打包之后再小也有 50m+,用户量大了 cdn 流量也遭不住
|
icyalala 1 小时 12 分钟前 作为开发来说,我也推荐 Electron ,甚至 Flutter 我觉得也是可选的。
但从用户角度出发,我只想要原生的 App 。 |
davidjqq19 1 小时 4 分钟前 Electron 就是安装包大了点,写个 Hello World 都得几十 M ,其他没啥毛病。
|
sheeta 1 小时 2 分钟前 作为用户我不支持 electron ,我可不想在我的电脑上塞 N 多个 Chrome 。
|
nno 58 分钟前 我投 egui
|
adoal 55 分钟前 作为用户我只想用原生 app……但是想到我很少为优秀的原生 app 付钱,那么,作为雪花,我不是无辜的
|
leaflxh 43 分钟前 我觉得 electron 能像 Java JRE 一样,出几个稳定版的浏览器包作为运行时就好
这下就像安卓的"快应用了" |
loginv2 33 分钟前 我推荐 core + webui 。这样 java 也好 python 也好,或者其他什么语言都是打包一个环境 然后该干的活后台干,前台交给浏览器。如果需要 UI 实现某些特性,单独用特定平台的 webview 技术来做维护
|
Worldispow 33 分钟前 via Android 2 从用户角度来看,electron 就是一坨屎。
v2er 也挺有意思的,app 占空间大就狂喷,轮到自己成为开发者时又不在乎大小了。 |
lstz 29 分钟前 via iPhone electron 太过笨重,实际上绝大多数应用都只需要一个单窗口,所以我更推荐 PWA 或者轻量级 web 桌面框架
至于用户体验,我认为除了真正程序上的 benchmark ,更多与用户交互也是强相关的。 最近在做一个开源项目,https://github.com/work7z/LafTools ,计划也是用轻量级 web 实现,曾经无数次想用 native UI ,但框架少库少,让我实在不敢赌 |
pursuer 27 分钟前 现在 Electron 支持移动端了吗?以前我记得是不支持的
|
Bingchunmoli 26 分钟前 via Android 作为用户反感 Electron.
|
elevioux 21 分钟前 在写 python 脚本调 chatgpt 接口的时候,想做一个简单的对话窗口。
看了一下 pyqt,tk 文档,看着烦。 直接用 pyqt 的 webview ,再写一个 jsbridge 让 浏览器 js 和 python 能够通信,就这么用着了。 |
superchijinpeng 20 分钟前 我投 Tauri 一票
|
jones2000 18 分钟前 不都是套壳浏览器吗?
|
zed1018 13 分钟前 我对 flutter 本身没有什么负面看法,但是我觉得 Dart 是真的丑,我接受不了
|
xarthur 12 分钟前 via iPhone 写一个跨平台的 GUI 库需要的工作量太大了,所以要不用浏览器,要不用放弃跨平台吧。
|
buf1024 10 分钟前 这个问题没有最优解,只有适合和不适合自己或公司的技术栈,因为以上所以的技术栈都能完成对应需求,当然也有自己的优点和坑。对于 flutter 来说,桌面端的支持不并是很完善,比如多窗口等等都没有完善的支持,很多功能都是第三方插件支持的,而且,官方并将桌面的的优先级放到比较低的位置。所以如果采用 flutter 开发桌面端,必定会踩很多坑,不过这都不是什么大问题,一般都有解决方案,如果没有解决方案,自己也可以通过插件完善。
自己之前尝试用 flutter 写写桌面端,感觉还行,参考: https://github.com/buf1024/hiqradio |
liuw666 6 分钟前 via iPhone 开发推荐 electron 。虽然我正在写 electron 客户端,但是电脑上 electron 的客户端能不装我就不装
|
ChrisFreeMan 5 分钟前 我差一点就上了 flutter 的船了,直到它的开发工具和 Chrome 绑定。
|
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK