有个疑问,如果都觉得 Electron 是电子垃圾,那为啥不直接用用户的浏览器做 UI 而不是自己封一个 Chromium

168 天前
 luyinge

只是疑问,如果一个 Electron 应用将 Nodejs 部分打包成二进制文件,然后使用系统原生平台做一个启动按钮,点击后直接执行这个二进制文件 + 启动一个本地 http server 用来在 localhost 上展示前端 UI 界面,通信直接走 socket

这么搞初看上去好像也没啥毛病,当然肯定会存在很多限制,不知道这种限制会是啥?为啥都没见到有人这么玩过

13734 次点击
所在节点    前端开发
125 条回复
beijinglowb
168 天前
用户浏览器兼容性不一样啊,我们这边很多客户还在用 IE11 ,让他们升级是不可能的事。
klmd99
168 天前
有啊 tauri 啊。
klmd99
168 天前
node 是吧,没审好题,忽略
luyinge
168 天前
@beijinglowb 这种确实是个问题,,,不过如果只是开源搞个工具的话,好像也没必要在乎这种兼容性,但也没见到哪个开源项目这么玩过,反倒全都是 electron 吃我内存。。。
cmdOptionKana
168 天前
从普通用户的角度看,Electron 不是电子垃圾,而且,普通用户也不知道什么是 Electron ,也不想知道。

其次,如果 Electron 是电子垃圾,那么对于普通用户来说,启动一个后端,然后再去浏览器里使用,这样的软件比垃圾更垃圾。

普通用户就是喜欢一个软件一个独立界面,普通用户不喜欢浏览器。
luyinge
168 天前
@klmd99 tauri 还是用的系统默认 webview 来做渲染嘛,我举例是把渲染这块完全交给用户自己设定的默认浏览器,毕竟 tauri 在 linux 上默认用的是 WebKitGTK ,我没用过,但这个听说是一堆问题?

但如果是直接用用户浏览器打开就没这个问题了嘛,要是展示有问题可以直接让用户使用 chrome ,哈哈
snylonue
168 天前
有些软件的 UI 就是这么做的

缺点的话就是浏览器中功能受限的,比如文件处理
luyinge
168 天前
@cmdOptionKana 啊?你没明白我的意思啊,如果我用 macos 打包出来一个 app ,用户安装以后顶部托盘出现一个 icon ,有个选项叫打开,用户一点直接打开浏览器拉起 app 界面,至于启动后端 httpserver 这个应该是在启动应用的时候默认就装好的
luyinge
168 天前
@snylonue 好吧,,,那是我孤陋寡闻了
cmdOptionKana
168 天前
@luyinge 那还是浏览器,而不是一个独立的窗口,就会被讨厌。
iOCZS
168 天前
@luyinge 系统浏览器怎么和你的 APP 通信呢?跨进程的,这个问题你想过没?
flyqie
168 天前
之前见过挺多软件都是这么做的。

问题也如楼上所说,浏览器兼容性,你不能假定用户装了啥浏览器。。

而且还得额外占端口,得判断端口是否可用。
stinkytofu
168 天前
@luyinge #8 有这样的软件啊, Mac 端的 Syncthing 不就是这样的软件么, 菜单栏常驻, 打开浏览器操作界面, 但是这根本就不属于标准客户端软件, 而且使用场景很受限, 和系统本地交互受限, 网页是运行在沙盒里面的, 很多需求都实现不了. 如果网页可以满足需求, 那也不需要本地跑一个 http server, 直接连接服务器不就行了么, 所以你说的这个需求就是伪需求, 本末倒置了, 最终又饶了一圈回来了.
hamsterbase
168 天前
是没什么毛病, 我的软件就是这么架构的。


1. pc 是 electron 套 nodejs
2. docker 版是容器里启动 nodejs
3. iOS ,安卓,iPad 版是 react native 里套 nodejs



这样一份代码实现了几乎所有平台。 在网页版里,前后端通过 websocket 通信。 在 electron 里通过 electron ipc 通信。
wjx0912
168 天前
有个叫 pwa 的可以了解下
duanquanwu
168 天前
如果前端写的代码能够同时兼容 IE11 和 chrome11 ,那确实可以不用 Electron 。
macaodoll
168 天前
你没见过,不代表没有,当年好多程序功能都是用套 IE 。
xingjue
168 天前
golang 的 wails 不错
thinkm
168 天前
就程序员觉得 Electron 是电子垃圾,用户不在乎的,页面精美就行
shijingshijing
168 天前
对程序员来说 Electron 是垃圾,CLI 命令行真香;对用户来说 CLI 命令行是垃圾,Electron 真香。

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

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

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

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

© 2021 V2EX