看到本站有不少用wails做的工具,想问问 wails 相比 electron 优缺点有哪些呢(比如稳定性、开发上手难度、安全等方面)?
假如说有一个 vue 的 web 端网站,现在要增加桌面端,这两种工具哪个会更方便迁移呢?
我用wails 构建一个应用发现它需要等前端build ,而且似乎没有热更新,不知道是不是没用对。大伙有没有用过的
1 iamzuoxinyu 2022-05-27 11:13:46 +08:00 via Android 还真有人拿 go 写桌面客户端啊… |
2 star7th 2022-05-27 11:19:04 +08:00 如果你是新人,那么用 electron 如果你是前端开发者,那么用 electron 只有 go 开发者才有必要用 wails , 不是 go 开发者就不用考虑了。 |
3 star7th 2022-05-27 11:23:00 +08:00 ![]() electron 配套的生态完善一些,以后可能想做什么都容易搜索到解决方案。比如打包,升级什么的。 electron 的缺点也是明显的,安装必体积大,性能没那么高。但在带宽和电脑性能都蛮高的今天,其实这也不算非常大的问题。你自己根据自己的场景考虑,如果自己的产品非常难容忍这么大的体积和性能,就别用 electron 了 |
![]() | 4 EyebrowsWhite OP @iamzuoxinyu #1 据我初步了解的 wails 其实用的还是前端 vue 、react 之类的写界面,只是能和 go 更好的配合 |
![]() | 7 EyebrowsWhite OP @star7th #3 这么看来的话,wails 除了体积和性能之外似乎没有很明显的优势,那 wails 相比 electron 能有多大的性能(体积)优势呢? |
![]() | 8 EyebrowsWhite OP @star7th wails 用的是 safari 的内核吧 |
9 iamzuoxinyu 2022-05-27 11:33:53 +08:00 @EyebrowsWhite 嗯,看起来跟 rust 这边的 tauri 差不多。我主要吐槽的是 FFI 上,因为有两套 GC 两套 runtime ,js 和 go 交互起来会有扯不清的问题。 |
![]() | 10 murmur 2022-05-27 11:40:13 +08:00 @EyebrowsWhite 那就是不兼容 windows 呗。。。 |
![]() | 11 ysc3839 2022-05-27 11:46:19 +08:00 via Android 感觉和 tauri 差不多,主要问题都是后端要用另一种语言写,不是 Node.js ,这样对曾经从事前端的开发者不友好。 个人认为现在有必要搞个 Node.js+系统自带 WebView 的方案,这样可以解决 Electron 体积大的问题(Linux 下解决不了,因为系统没 WebView)。不过似乎一直没人搞,可能是大多数人其实不在乎体积问题。 |
![]() | 12 murmur 2022-05-27 11:48:27 +08:00 |
13 qq1340691923 2022-05-27 11:56:14 +08:00 好东西,后续可以把我的 esview 重写成桌面端了 https://github.com/1340691923/ElasticView |
![]() | 14 kytrun 2022-05-27 11:57:41 +08:00 |
16 iamzuoxinyu 2022-05-27 12:57:24 +08:00 @iamzuoxinyu 而且涉及到一些原生操作,go 还是要跟 c 打交道,go 跟 c 的交互远远比不上 node/rust 。别的不说,光 windows 上的 cgo 就够你喝一壶的。 |
![]() | 17 KingFong PRO 在 python 上面搭配 pywebio 可以让不懂前端的人员写出一个简单交互的程序,不知道 go 有没有类似的方案? |
![]() | 18 wangtian2020 2022-05-27 13:26:55 +08:00 现代前端基本都会 nodejs 能写 electron wails 的最大缺点就是我不会 go |
![]() | 19 EyebrowsWhite OP @murmur 兼容 win10/win11 ,他使用的原生的,所以我在 mac 打开以为是 safari |
![]() | 20 zachgenius 2022-05-27 14:21:02 +08:00 不知道有没有人用过 Tauri |
21 a1114262301 2022-05-27 18:01:21 +08:00 @EyebrowsWhite webview2 |
![]() | 22 evilStart 2022-05-27 18:05:23 +08:00 via Android @ysc3839 你在搞笑吗? WebView 不就又回到前端老生常谈的兼容性问题了? electron 就是可以避免这种问题 |
![]() | 23 ysc3839 2022-05-27 18:43:26 +08:00 @evilStart 不是我在搞笑,说 Electron 体积大的人不是我,我只是转述一下某些人的需求而已,我自己觉得 Electron 体积大无所谓 |
![]() | 24 Buges 2022-05-27 19:58:31 +08:00 via Android @ysc3839 taur i+ deno binding 符合你的描述。 但无法达到 electron/nwjs 的那种十分方便 context integration 效果,即网页里的 js 脚本随意调用 node api 。 |
25 hervey0424 2022-05-28 14:32:45 +08:00 首选 Electron , 如果不行直接用 winform 更好 |
![]() | 26 00ing 2022-05-29 10:34:14 +08:00 go 用 govcl |
![]() | 27 sunmoon1983 2023-12-08 13:11:32 +08:00 |
![]() | 28 sunmoon1983 2023-12-08 13:12:02 +08:00 @star7th 我前端和 go 都会,要怎么选?不知道 wails 坑多不多 |
29 star7th 2023-12-11 13:36:03 +08:00 |