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

electron 替代品求推荐

  •  
  •   CrazyBoyFeng · 2021-06-17 05:29:22 +08:00 via Android · 7455 次点击
    这是一个创建于 1288 天前的主题,其中的信息可能已经有所发展或是发生改变。
    鉴于 electron 恶名在外,我本打算找一下替代方案,但发现还真不好找。
    想要减小运行内存,要么是精简 chromium,要么是用系统浏览器。
    精简 chromium 的我就只找到一个 miniblink,不跨平台。
    用系统浏览器的也基本上都有这样那样的适配问题。
    像 sciter 这样比较成功的 web 桌面框架,不是自由开源的。使用此类框架,既要担心依赖绑定,还要担心弃坑(依赖绑定的其中一种情形)。
    总结一下需求:
    1. 跨平台兼容性高。
    2. 从 web 移植的工作量小。
    3. 比 electron 省内存。
    4. 最好是自由开源的,GPL 也没关系,反正 web 网页本来就是开源的。
    其实要是 electron 有 runtime 模式也不错,多个应用共用框架,能省一些资源。可惜没有 runtime 模式。
    18 条回复    2022-06-27 19:10:34 +08:00
    tianxia
        1
    tianxia  
       2021-06-17 06:30:34 +08:00 via Android
    我也看看有没有
    yyfearth
        2
    yyfearth  
       2021-06-17 07:26:15 +08:00
    要跨平台而且保持行为一致兼容性好 那只能用 chromium 或者 webkit 并且要自带核心 那自然就小不了 资源占用就一定会大
    本来 Google 出了一个 https://github.com/GoogleChromeLabs/carlo 不错 只要安装 Chrome 就可以了 但是一样也还是弃坑了

    所以要么用系统自带的浏览器内核 要么 electron/nw.js
    有实力的话 自己去精简 chromium 内核
    kawaiidora
        3
    kawaiidora  
       2021-06-17 08:04:55 +08:00
    electron 就是为了解决平台差异才搞出来的东西,只要开发者在自己机器上弄好了,放到别的系统和机器上不会出大问题。

    electron 相当于桌面应用的 flash (指刚诞生没几年的 flash ),暂时还没有替代品。除非几家巨头达成交易,共同推进一个通用方案。

    替代品可能要过几年才会诞生
    Jirajine
        4
    Jirajine  
       2021-06-17 08:16:25 +08:00 via Android
    tauri
    banliyaya
        5
    banliyaya  
       2021-06-17 08:41:42 +08:00
    可以看看网易云音乐,在 mac 上 10M 不到,好像是套壳的 web
    Rwing
        6
    Rwing  
       2021-06-17 08:51:41 +08:00
    askfermi
        7
    askfermi  
       2021-06-17 08:54:59 +08:00
    tauri +1
    adeweb
        8
    adeweb  
       2021-06-17 08:57:46 +08:00
    Qt,除了 web 移植可能性不大,其他都表现不错。
    IvanLi127
        9
    IvanLi127  
       2021-06-17 09:03:28 +08:00 via Android
    不带完整的浏览器内核,还是别搞了,web 都支持的东西到 app 反倒不支持了。
    supermoonie
        10
    supermoonie  
       2021-06-17 09:36:03 +08:00 via iPhone
    我用的 jcef 😿
    love
        11
    love  
       2021-06-17 10:15:11 +08:00
    现在直接用浏览器内核问题不大了吧,就象正常做网站一样
    hazardous
        12
    hazardous  
       2021-06-17 10:34:40 +08:00
    只做 webserver,然后用本地浏览器做 UI
    TrembleBeforeMe
        13
    TrembleBeforeMe  
       2021-06-17 11:50:14 +08:00
    PWA ?
    BingoXuan
        14
    BingoXuan  
       2021-06-17 13:04:41 +08:00 via Android
    pywebview
    EPr2hh6LADQWqRVH
        15
    EPr2hh6LADQWqRVH  
       2021-06-17 13:13:34 +08:00
    问题不在 Electron 身上,人家 VSCode 那个规模都不卡,你自己随便一个啥卡,问题出在哪自己还没点数么。。。
    CrazyBoyFeng
        16
    CrazyBoyFeng  
    OP
       2021-06-17 16:45:27 +08:00
    看来大家较多选择的次优方案其实还是调用系统浏览器,包括 pywebview 、tauri 这类都是,localserver 和 pwa ( PC 版小程序快应用)也算。目前 pwa 还不能操作本地文件,需要借助 service-worker,除了跟浏览器结合更紧密,其实跟 localserver 区别不大。

    我也了解了一下 electron runtime,有些 linux 发行版确实是以这种方式进行包管理。但是碎片化十分严重,每个 electron 应用依赖的版本都不同,效果提升并不明显。github 上有关 runtime 的讨论里,electron 官方也认为组件更新迭代太快,发行 runtime 的优势不显。也是因为迭代太快,对 chromium 进行精简也跟不上更新的速度。chromium 本身耦合也非常紧密,拆分成模块是比较困难的工作。( chromium 里其实有很多有很多对于发布应用来说是没用的可以删除的功能,例如打印当前页、pdf 查看和保存为 pdf 、截图、crx 扩展、调试等等,所以能做出来 miniblink 的作者还是很有水平的,至少把 chromium-windows 吃透了)
    a132811
        17
    a132811  
       2022-05-05 21:24:19 +08:00
    pwa 可以操作本地文件了
    https://whatpwacando.today/file-system
    wjx0912
        18
    wjx0912  
       2022-06-27 19:10:34 +08:00
    sciter 有开源版啊,几百美金
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3216 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:35 · PVG 20:35 · LAX 04:35 · JFK 07:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.