爱意满满的作品展示区。
zcbenz

写了一个用网页做桌面应用的新轮子

  •  2
     
  •   zcbenz ·
    zcbenz · Feb 27, 2018 · 8075 views
    This topic created in 3001 days ago, the information mentioned may be changed or developed.

    项目地址: https://github.com/yue/muban

    和 Electron 不一样的是,这个项目使用系统的 webview 而不是自带 Chromium 浏览器,除了 webview 以外还可以使用系统原生的控件。另外默认没有给 webview 提供各种底层 API,而是提供了 API 供用户往网页注入绑定。

    目标用户和 Electron 完全不一样,主要是用于简单精巧的程序。

    最后如果觉得项目还不错的话,希望大家能帮忙去 Hacker News 和 Reddit 帮忙投个票:
    https://news.ycombinator.com/item?id=16469088
    https://www.reddit.com/r/programming/comments/80hzfe/muban_build_crossplatform_desktop_apps_with/

    截图(实在不知道 V2EX 里面怎么缩小了放一行,凑合着看大图吧):

    35 replies    2018-05-17 06:47:29 +08:00
    MeteorCat
        1
    MeteorCat  
       Feb 27, 2018 via Android
    调用系统浏览器?话说如果 IE6 这种岂不哭死
    binux
        2
    binux  
       Feb 27, 2018
    这就是「这是我给 Electron 造的减肥药」?

    ref: [这是我给 Electron 开的减肥药,你觉得行么?]( https://www.v2ex.com/t/430904)
    xylitolLin
        3
    xylitolLin  
       Feb 27, 2018
    所以起码有三个浏览器需要兼容?
    zcbenz
        4
    zcbenz  
    OP
       Feb 27, 2018
    @MeteorCat @xylitolLin

    macOS 和 Linux 上可以保证是近年的 WebKit,Windows 确实得老老实实测试浏览器兼容性。没办法,程序体积和浏览器兼容性只能二选一。
    fengyj
        5
    fengyj  
       Feb 27, 2018 via Android
    变相的浏览器么?感觉好像只适合小型的网页诶
    zhixiao
        6
    zhixiao  
       Feb 27, 2018
    不管怎么样先看看 毕竟是搞出 nw 和 electron 的大佬
    zsj950618
        7
    zsj950618  
       Feb 27, 2018 via Android
    终于要减肥了! mark
    zsj950618
        8
    zsj950618  
       Feb 27, 2018 via Android
    有个问题,为啥 Linux 上是 webkit 而不是 chromium ?或者说如果我没有 webkit,会怎么处理?
    等有时间再研究下(
    zcbenz
        9
    zcbenz  
    OP
       Feb 27, 2018 via iPhone
    @zsj950618 大部分发行版都默认安装了 libwebkit2gtk。
    codehz
        10
    codehz  
       Feb 27, 2018 via Android
    windows 上能用 edge 的内核吗。。。听说没有公开 com 接口,但是似乎强行调用还是可以的
    mokeyjay
        11
    mokeyjay  
       Feb 27, 2018
    emmmmm ……我还是宁愿启动浏览器
    anewg
        12
    anewg  
       Feb 27, 2018
    我没记错的话楼主就是 electron 作者吧?
    zcbenz
        13
    zcbenz  
    OP
       Feb 27, 2018
    @codehz 我也想用,但搜了一圈结论好像都是不行。
    zcbenz
        14
    zcbenz  
    OP
       Feb 27, 2018
    @mokeyjay 我还是宁愿用 Electron / 我还是宁愿写 Chrome Extension / 我还是宁愿用 PWA ……
    zcbenz
        15
    zcbenz  
    OP
       Feb 27, 2018
    @anewg 是的。
    codehz
        16
    codehz  
       Feb 27, 2018 via Android
    @zcbenz 如果变成商店应用的话,倒是可以的(纯 c++使用
    chinvo
        17
    chinvo  
       Feb 27, 2018
    Windows 上兼容性是个大问题

    忽略这个,感觉是极好的
    learnshare
        18
    learnshare  
       Feb 27, 2018
    我还是选择支持 PWA,不过考虑到几家浏览器存在一定差异,PWA 桌面版的体验不一定会很好
    skadi
        19
    skadi  
       Feb 27, 2018
    就不能只使用 html 和 css 布局.然后其他的另说?
    lmqdlr
        20
    lmqdlr  
       Feb 27, 2018
    其实 Electron 软件要是能公用一个 Electron 就好
    zsj950618
        21
    zsj950618  
       Feb 27, 2018
    @zcbenz 可是 KDE 用户就只有 libqt5webkit5 了(
    abmin521
        22
    abmin521  
       Feb 27, 2018 via Android
    20L +1 不过那不是又变成变相的 web server 了???
    goldenlove
        23
    goldenlove  
       Feb 27, 2018
    @lmqdlr 这个就有点类似微信小程序概念了.....

    顺便膜拜楼主~ 没想到在这见 Electron 作者~
    congeec
        24
    congeec  
       Feb 27, 2018 via iPhone
    终于有人做了!
    cnwtex
        25
    cnwtex  
       Feb 27, 2018
    支持!
    BikeCoder
        26
    BikeCoder  
       Feb 27, 2018
    膜拜大神
    jecshcier
        27
    jecshcier  
       Feb 27, 2018 via iPhone
    @zcbenz 居然碰到了作者。。。。非常感谢,已使用 electron 一年多

    然后。。我借楼问个问题。。。一直找不到答案。我在 webview 里用了 iframe 标签,然后在 iframe 里点击跳转的时候,整个 webview 都发生了跳转,有办法只让 iframe 跳转吗?😂
    daigouspy
        28
    daigouspy  
       Feb 27, 2018 via Android
    @codehz uwp APP 才可以,win32 不行
    codehz
        29
    codehz  
       Feb 27, 2018 via Android
    @daigouspy C++可以做 uwp 应用啊
    POPOEVER
        30
    POPOEVER  
       Feb 27, 2018
    Electron 用户+1,膜拜一下作者,感觉这个是不是会很适合在树莓派上用诶,轻量和简约
    devtiange
        31
    devtiange  
       Feb 28, 2018
    @zcbenz 所以在 win 10 上调用的是 IE 什么版本的内核?
    Akarin
        32
    Akarin  
       Mar 3, 2018
    运行 npm I 时出错,貌似安装 cmake-binaries 这个包的时候出问题了。
    macOS 10.13.2
    node v8.9.1
    npm 5.6.0

    因为是国内环境,使用了 cnpm

    ```
    ⠸ [0/4] Installing [email protected]:538
    throw err;
    ^

    Error: Cannot find module 'tar'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/akari/Developer/muban/node_modules/[email protected]@cmake-binaries/preinstall.js:3:13)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    ✖ Install fail! Error: Run "sh -c node preinstall.js" error, exit code 1
    Error: Run "sh -c node preinstall.js" error, exit code 1
    at ChildProcess.proc.on.code (/usr/local/lib/node_modules/cnpm/node_modules/runscript/index.js:74:21)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
    npminstall version: 3.2.1
    npminstall args: /usr/local/Cellar/node/8.9.1/bin/node /usr/local/lib/node_modules/cnpm/node_modules/npminstall/bin/install.js --china --userconfig=/Users/akari/.cnpmrc --disturl=https://npm.taobao.org/mirrors/node --registry=http://registry.npm.taobao.org
    ```

    求指导一下。
    DotKu
        34
    DotKu  
       Apr 19, 2018
    膜拜大神~
    yaolixing
        35
    yaolixing  
       May 17, 2018 via Android
    推荐他山框架
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1141 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 23:33 · PVG 07:33 · LAX 16:33 · JFK 19:33
    ♥ Do have faith in what you're doing.