突然有个奇特的想法-electron 启动器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
timpaik
V2EX    Electron

突然有个奇特的想法-electron 启动器

  •  
  •   timpaik 2020-08-19 21:27:11 +08:00 4179 次点击
    这是一个创建于 1942 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知,electron 的程序体积非常大

    一个 helloworld 都将近 160MB 了

    然后我就想有没有什么解决方法

    毕竟如果没有二进制依赖的话 electron 其实是只生成一个 app.asar 的?(可能还要 app-update.yml 什么的)

    然后我想有没有可能把 electron 应用的 app.asar 都独立出来,然后使用 electron app.asar 这样的命令来启动应用

    这时候只需要一个启动器,用来检查是否安装了 electron,然后检查更新什么的,并用 electron 启动 app.asar 不就行了?

    这样的话多个应用也能减少体积(毕竟只有一个 electron 本体了)

    如果是直接打包的网页版本,那就更直接了,直接 electron https://v2ex.com/ 这样子的命令就可以

    毕竟 electron 也写了: To run a local app, execute the following on the command line: electron path-to-app

    各位大佬看看,可行性高吗?

    附上 electron 的 help:

    Electron 9.2.1 - Build cross platform desktop apps with Javascript, HTML, and CSS Usage: electron [options] [path] A path to an Electron app may be specified. It must be one of the following: - index.js file. - Folder containing a package.json file. - Folder containing an index.js file. - .html/.htm file. - http://, https://, or file:// URL. Options: -i, --interactive Open a REPL to the main process. -r, --require Module to preload (option can be repeated). -v, --version Print the version. -a, --abi Print the Node ABI version. 
    19 条回复    2021-07-18 13:24:10 +08:00
    love
        1
    love  
       2020-08-19 21:30:57 +08:00
    你这样不是要先安装一个 electron ?那为何不直接用平台原生浏览器核心,都省了这一步了
    Cbdy
        2
    Cbdy  
       2020-08-19 21:34:19 +08:00 via Android
    您说的是 pwa 吧
    timpaik
        3
    timpaik  
    OP
       2020-08-19 21:36:27 +08:00
    @love windows 的 webview 是 edge 或者 IE,那玩意完全没法用吧
    新 edge 目前没有预装?并且我装了新 edge,webview 还是旧 edge
    timpaik
        4
    timpaik  
    OP
       2020-08-19 21:37:23 +08:00
    @Cbdy 但是这样的话可以做成原生应用的样子啊,并且完全可以离线运行,托盘图标,直接操作文件系统(最后这点最重要)
    ochatokori
        5
    ochatokori  
       2020-08-19 21:39:12 +08:00 via Android
    arch 上的 electron 应用有很多都是用本地的 electeon 启动的
    但是事实上开发者打包应用的时候还是要打包个 electron 进去
    ochatokori
        6
    ochatokori  
       2020-08-19 21:41:44 +08:00 via Android
    而且 electeon 也会有版本问题,这两年好像就更了 4 个大版,兼容性堪忧
    timpaik
        7
    timpaik  
    OP
       2020-08-19 21:43:41 +08:00
    @ochatokori arch 上的很多包确实是直接用了个脚本启动?
    关于兼容性,我了解的不是很多,目前并不知道有什么向前不兼容的 api 、、
    Kr98
        8
    Kr98  
       2020-08-19 21:44:32 +08:00
    你不是第一个这么想的,但这个想法一直无法落地。electron 周更,而且新版本有时会引入新 bug 或 breaking changes,基本不可能提供公用的核心。
    Cbdy
        9
    Cbdy  
       2020-08-19 22:17:52 +08:00 via Android
    @timpaik 您说的 pwa 都满足的,比如“最重要的这点”
    https://web.dev/native-file-system/
    anguiao
        10
    anguiao  
       2020-08-19 22:22:18 +08:00 via Android
    @timpaik WebView2 正在搞了,调用新版 Edge ( Chromium 内核)
    ZeoKarl
        11
    ZeoKarl  
       2020-08-19 22:39:09 +08:00 via iPhone
    有 runtime 版本问题,一旦无法匹配,直接崩溃,而且是 c++层面的,debug 都费劲
    BianSir
        12
    BianSir  
       2020-08-19 22:42:18 +08:00 via iPhone
    有想法,棒!
    timpaik
        13
    timpaik  
    OP
       2020-08-19 23:37:26 +08:00 via iPhone
    @Cbdy 总不可能发布应用给个浏览器安装包啊不是
    timpaik
        14
    timpaik  
    OP
       2020-08-19 23:46:16 +08:00 via iPhone
    @anguiao 但也仅现 windows10 最新版了吧
    光这一条就能劝退很多开发者
    不过如果很快出的话应该还是很香的
    cielpy
        15
    cielpy  
       2020-08-20 00:37:25 +08:00
    刚看了下 Electron 已经 11.x 了。。。
    anguiao
        16
    anguiao  
       2020-08-20 01:04:18 +08:00 via Android
    @timpaik 不会,甚至兼容 Win7,只要能装新版 Edge 就可以用。
    mgrddsj
        17
    mgrddsj  
       2020-08-20 18:38:22 +08:00 via Android
    之前好像有帖子讨论过这个问题。结果是会因为不同版本自建的兼容性问题,像 C++ 那样在用户电脑上装 N 个 Microsoft Visual C++ Redistributable,反而失去了 Electron 打包的便利。
    mgrddsj
        18
    mgrddsj  
       2020-08-20 18:40:13 +08:00 via Android
    @mgrddsj 自建 → 之间
    timpaik
        19
    timpaik  
    OP
       2021-07-18 13:24:10 +08:00 via Android
    过了许久,现在再看看,还是 webview2 真香,用 tauri 还能调用 native
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2529 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 06:49 PVG 14:49 LAX 22:49 JFK 01:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86