再也不说 electron 是个邪恶的技术了

2024-04-23 00:47:48 +08:00
 changdy

想把自己 5 年前做的 electron 小工具迁移到 flutter 上面, 零零散散看了一两天的 flutter , 今天崩溃了. 文档不如 electron 成熟 , 想用快捷键实现窗口唤醒到前台.看了下 chatgpt 的回答,实现起来非常麻烦. 不同的桌面端要写不同的原生代码交互 , 蒙圈中.

electron 万岁.这东西真的节省了几倍的研发成本.

ps flutter 的 codelabs 做的是真的好..稍微有点计算机基础都能跟着上手.;..

6157 次点击
所在节点    Electron
22 条回复
asuraa
2024-04-23 01:13:41 +08:00
electron 除了性能差点,体积大点,其他的都是优点了
jim9606
2024-04-23 01:14:59 +08:00
本来批判 electron 的理由就是以更高的最终用户开销换更好的开发效率。
yyfearth
2024-04-23 02:04:21 +08:00
其实只要 electron 可以动态下载核心
以及多个 app 直接共享核心 或者和本地的 chrome 或者 edge 共享核心
其实就够了 无非相当于多开了几个网页 而不是多开一堆浏览器
这样体积和内存占用大的问题就可以解决了
daboweiqi
2024-04-23 02:41:42 +08:00
@yyfearth Electron 给 chromium 打了不少补丁,且注入了 Node 的环境,跟一般的浏览器共享内核是不可能的了。
ljyst
2024-04-23 03:25:05 +08:00
electron 是功能全,还能屏幕录制,就是安装包太大
不会写其他的就用 nodegui 吧
pain2w
2024-04-23 05:19:49 +08:00
@yyfearth 你说的这玩意叫 pwa
yanyao233
2024-04-23 06:39:51 +08:00
看到基于 electron 的软件我想骂人,但自己开发端应用时不让我用 electron 那我又要骂人了🤣
panlatent
2024-04-23 08:40:05 +08:00
当有客户需要桌面端软件,主要用来展示,不在乎体积和较高的流畅性,作为熟悉前端你该用什么技术?
yyzh
2024-04-23 08:41:24 +08:00
大家都在用,你不用是不是有些不合群了🤣
https://github.com/ShirasawaSama/CefDetectorX
Chad0000
2024-04-23 08:42:05 +08:00
@yanyao233
这就跟写文档一样,轮到自己就是不想写,轮到别人就是必须得写。哈哈
yangzzzzzz
2024-04-23 09:04:02 +08:00
@daboweiqi #4 你说的应该是 tauri
sloknyyz
2024-04-23 09:59:17 +08:00
不想用 electron 的用户放弃就行,这种东西都计较的人,不可能榨的出油水
lstz
2024-04-23 10:08:16 +08:00
我觉得那点内存开销没啥,普通用户也不会时时看内存占用,更何况现在内存硬盘都不贵了
FightPig
2024-04-23 10:12:49 +08:00
自从去年用 tauri 和 electron 分别做了两个项目后发现,在国内,用 electron 绝对是最优选,因为你不会知道你的客户可能还在用 win7 sp1 前的版本
belin520
2024-04-23 10:16:55 +08:00
@yyfearth 有没有一种可能,作为 2024 年的桌面端应用,存储空间的占用和带宽都不是核心痛点(毕竟 iOS 上的 app 们已经动不动几百 m 起步了)
不过 Electron 带来的性能问题,确实是作为跨平台客户端的一个劣势(但是 VSCode 又被优化的很流畅)
changdy
2024-04-23 14:05:29 +08:00
@belin520 ennn vscode 远远谈不上很流畅,只能说作为一个 electron 架构的轻量编辑器 速度相比较他的同类产品,运行速度还不错.
但是对比 sublime 之类的还是差的挺多的.
jifengg
2024-04-23 15:08:50 +08:00
上面都在说 electron ,我来说说 flutter 。
flutter 在桌面端,相比其他,算刚起步。官方的多窗口现在还没支持呢。
且和系统结合太紧密的确实要写原生。可以先专注在实现程序功能上,如果有些小工具实现不了及时止损。
marcong95
2024-04-23 17:06:53 +08:00
感觉桌面端要替代 Electron 的话还不如试试 Tauri 比较好?感觉 Flutter 发力重点在移动端?

例如说快捷键这个 Tauri 是有 API 的,毕竟移动端大多数情况下都不接键盘用,Flutter 估计没考虑这个问题?
changdy
2024-04-24 09:23:47 +08:00
@yyfearth
@lstz

不仅仅是内存的问题 .运行效率也差了很多 .
主要是前端渲染的时候 为了实现复杂的效果.dom 结构非常复杂.卡首屏 之类的都是常规操作..
可以对比下 sublime 和 vscode 的启动速度...

并且 vscode 已经是 electron 下非常非常优秀的产品了 ,看下 postman/apipost 就知道一般人会把 electron 搞成什么样子了.
yyfearth
2024-04-24 15:11:04 +08:00
@changdy 这个要看你 UI 用的什么框架
比如移动端的小程序之类背后还是 Web 或者类似的 Virtual DOM
非常多的国产 App 桌面或者移动端 其实也是套了壳的 webview 除了没自带 Chromium 外 渲染效率也和 web 一个级别
其他桌面端不少跨平台 UI 框架 也不见得有多轻
sublime 之类很多 App 对 UI 渲染有专门的优化 算是非常优秀的产品 其他产品不见得会有多好
类似的 Jetbrains 的 Java UI 就是比 Eclipse 和一堆 Swing 做的 UI 要流畅
另外微软的.net 的 WinForms WPF MAUI 也都不轻 不优化写出来的 UI 大都没有 sublime 之类的好

其实 electron 就是一个打包了 Chromium+NodeJS 的 webview 套壳
主要好处是不同环境下不用担心浏览器和运行时以及系统造成的兼容性问题
如果 Electron 能共享系统的 chromium/edge webview 或者互相之间共享内核版本就足够好了
很多 App 并不是很注重 UI 有多流畅 能用就不错了

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

https://yangjunhui.monster/t/1034784

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

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

© 2021 V2EX