首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coding
V2EX  ›  问与答

electron 有使用过这个的兄弟吗?实用不?

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

    c#客户端要支持期货和永续期货的模块,出了三个方案:

    一、客户端自个儿完成,但效果不太好,web 还不能复用,mac 也不能用

    二、web 完成,客户端使用类似内部浏览器的工具来加载展示,但效果就是卡

    三、同事选型了 electron,看官方可以跨平台用,似乎比较合适,但都没使用过,有风险。

    求支持,兄弟们

    40 回复  |  直到 2019-04-03 10:10:01 +08:00
        1
    gaocc   254 天前
    使用过的给个建议,感激不尽,先给个你个爱心
        2
    morethansean   254 天前 via iPhone
    直接用 Electron 呗。
        3
    ijse   254 天前
    electron 方案不错的,只是打包体积有点大( 40+MB ),驾驭好了之后,三个平台都能一套代码搞定; Web 代码一定要打包到本地加载,只要用户电脑不是很差,优化做得到位,使用起来体验跟 Native 的客户端无异的;一些密集运算也可以写 c++ addon 编译解决; electron-build 工具更是可以直接提供软件升级功能,是不错的方案。

    使用内部浏览器,页面可能会有些兼容问题,但如果客户端用 cef 会好些,只是打包体积也会很大,并且页面与端交互可能也会有问题。

    当然,最主要的还是要看团队
        4
    gaocc   254 天前
    @ijse 嗯感谢,既然方案还可以,就继续执行了,目前还在搞 demo 学习中,哈。
        5
    grewer   254 天前
    之前我找的时候 没有好的解决方案
    还有我用的时候遇到了些小 bug
        6
    zw1234   254 天前
    electron 基于 Chromium 的,和 chrome 一样占用内存比较高...
        7
    murmur   254 天前
    目前看正经的 electron app,叫的出名优化的好的只有 vscode
    奇遇的都是 cef 的爆改,拖家带口不知道带了几百个 dll
        8
    zzh1224   254 天前
    应该挺成熟了吧,反正我用的时候也没啥大坑要踩,就是打包出来挺大的,就一普通的单页面应用
        9
    nieyujiang   254 天前 via iPhone
    反正 sharp 这个库我编译 Windows 版本就没成功过,electron 里面用的
        10
    vampuke   254 天前
    @murmur 斗鱼客户端 QQ 音乐和网易云音乐的 MacOS 版本 postman 好像都是 electron
        11
    murmur   254 天前
    @vampuke 光看 electron 没用 你要数一下除了 electron 之外还有多少 dll 才能判断 electron 是核心还就是 UI
    尤其是微信这种带了个 40m 的 qbcore.dll 又是什么爆改版
        12
    caryqy   254 天前
    虾米音乐 mac 端就是的 beggar vip 事件
        13
    gaocc   254 天前
    目前有点懵,我这前端用的 vue,electron 应该 只是用于 UI,像套壳一样,具体怎么结合或者必须得单独用,都还没踩过坑。有谁和 vue 一起用过的吗?
    @murmur
    @vampuke
    @zw1234
        14
    murmur   254 天前
    @gaocc

    问题其实就 2 个
    1、太大,相比,net 把锅都给了运行库,electron 打包出来的东西都得三四十 m,包括和 chrome 一样吃内存,另外一个可能是问题也不是问题的就是 electron 不支持 xp,但是 node-webkit 的老版本是支持的
    2、代码几乎跟没混淆一样

    至于界面、逻辑都不是问题
        15
    vampuke   254 天前
    @murmur 受教了 刚刚看了一下 postman 的文件 感觉应该是 electron 为主
        16
    linchengzzz   254 天前
    主要是吃内存 , 电脑配置好 应该没问题
        17
    932357832   254 天前
    和 vue 一起用的话,可以用这个 electron-vue -> https://simulatedgreg.gitbooks.io/electron-vue/content/cn/ ,搭配 electron 官方文档使用就可以了
    但是这个已经有段时间没有更新了,里面的 electron 版本也不是最新的,最好自己更新到新版本。
        18
    vampuke   254 天前
    @gaocc 我的理解是 electron 在打包的过程中就像打包了一个 chromium 的内核进你的软件,替你解决兼容问题,vue 的代码就正常写,写完再用 electron 打包,运行的效果和你直接在浏览器里打开 vue 项目是没有太大区别的,至于#14 说的混淆的问题,我的做法是混淆完再打包,这样 electron 解包出来的也只是混淆后的内容
        19
    zqx   254 天前 via Android
    直接体验一下 vs code 看看好不好用就行了
        20
    meishigan321   254 天前 via Android
    期待出个安卓版!安卓版的 ssr 都 n 年不更新了。
        21
    DOLLOR   254 天前 via Android
    就是打包体积、运行内存大,其余都不是太大的问题。如果有 web 开发经验,差不多可以无缝切换过来。
    要注意发布代码要混淆,免得把注释里见不得人的信息被好事者拿去搞新闻😅
        22
    gaocc   254 天前
    @vampuke
    @932357832
    @murmur
    感谢哇,我先自己搂一把文档,自己没编码过没底,目前判断就是能行,有坑,但能填。ok
        23
    jswh   254 天前
    打包比较大,其他都挺好的
        24
    Mzs   254 天前
    阿里云的 OSS 客户端就是 electron 写的
    我公司内部的一个工具也用 electron 写的 主要是做一些 http 请求和 adb 命令 蛮好的
        25
    pengwen   254 天前 via Android
    @ijse 为什么我随便打包一下都是 90+的,第一次使用
        26
    murmur   254 天前
    @pengwen 我用过比较老的 node-webkit,打包可以控制在 30m 以内
        27
    aleko   254 天前
    还好 没什么特别大的坑 小坑一般都是自己用的姿势不正确 但如果你想要魔改就不确定了...
        28
    gaocc   254 天前
    @932357832 感谢,这个直接全家桶的好操作很多。
        29
    encro   254 天前
    web 使用卡,
    electron 是也是 web 的,难道就不卡了?
        30
    encro   254 天前
    首先需要明白是为什么卡?
    比如是通信延迟,还是渲染 dom 太多。
    electron 只是在 web 上加了一个壳,并不一定能解决卡的问题。
        31
    TomVista   254 天前
    很不错的技术生态,就是 electron+hello word =40m 有点尴尬
        32
    joesonw   254 天前
    electron 唯一的问题就是不支持 xp. 支持 xp 的话老老实实用 nw.js
        33
    ijse   254 天前
    @pengwen 你该不会是把 node_modules 也打到包里了吧?
    可以试下解压 asar 文件看下
        34
    hws8033856   254 天前
    @encro 同意,LZ 还是先弄清楚为什么卡,例如我以前的一个项目,用的 WPF 外框+cefsharp 插件的 WPF 版,网页动画效果因为 WPF 的 UI 渲染机制导致看起来不流畅,结果换用 cefsharp 的 winform 版就解决问题了
        35
    gaocc   254 天前
    demo 了一个智能行情监控的界面,遇到了 websocket 连接不上的坑,具体报错如下:

    Uncaught Error: [Vuex Electron] Please, don't use direct commit's, use dispatch instead of this.
    at Store.store.commit (D:\work\GS_project\gsboms\trunk\code\client\electron-vue\electron-gs\node_modules\vuex-electron\dist\shared-mutations.js:1:1992)
    at _class.passToStore (webpack-internal:///./src/renderer/plugins/ws/observer.js:148:62)
    at WebSocket._this2.webSocket.(anonymous function) (webpack-internal:///./src/renderer/plugins/ws/observer.js:94:20)

    有踩过的吗,百度没找到什么有效资料。

    @hws8033856
    @TomVista
    @Mzs
    @vampuke
    @932357832
        36
    gaocc   254 天前
    代码逻辑和 web 的一样,浏览器没毛病正常运行
        37
    TomVista   254 天前
    @gaocc 检查下路径, websocket 访问了 vuex store 吗?看起来问题不在 websocket
        38
    gaocc   254 天前
    这个刚踩掉了。注释掉了 store 目录下 index.js 的 createSharedMutations 插件。先能连接 websocket 了,数据也有了,但是 F5 刷新没重连,有点蛋疼,控制台报错:
    [26292:0402/202200.999:ERROR:CONSOLE(7574)] "Extension server error: Operation failed: : has no execution context", source: chrome-devtools://devtools/bundled/inspector.js (7574)
    这玩意,看了一脸懵逼。明个再来,今天休息了。
    @TomVista
        39
    pengwen   254 天前 via Android
    @ijse 刚刚接触 electron,我是直接执行 electron-packager .
    请问下,有什么技巧可以降低包的大小呢
        40
    TsaiKoga   253 天前
    我前阵子也玩了 electron,可以参考我这个项目 https://github.com/TsaiKoga/it-tools
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2549 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 14:32 · PVG 22:32 · LAX 06:32 · JFK 09:32
    ♥ Do have faith in what you're doing.