V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
changdy
V2EX  ›  Electron

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

  •  2
     
  •   changdy · 212 天前 · 4951 次点击
    这是一个创建于 212 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    例如说快捷键这个 Tauri 是有 API 的,毕竟移动端大多数情况下都不接键盘用,Flutter 估计没考虑这个问题?
    changdy
        19
    changdy  
    OP
       211 天前
    @yyfearth
    @lstz

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

    并且 vscode 已经是 electron 下非常非常优秀的产品了 ,看下 postman/apipost 就知道一般人会把 electron 搞成什么样子了.
    yyfearth
        20
    yyfearth  
       211 天前
    @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 有多流畅 能用就不错了
    shuax
        21
    shuax  
       206 天前
    Flutter 好多功能要靠第三方包,但是质量嘛,真的不咋的。
    cnit
        22
    cnit  
       162 天前
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5253 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 08:31 · PVG 16:31 · LAX 00:31 · JFK 03:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.