首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
Udacity
网易公开课
Godel, Escher, Bach: An Eternal Golden Braid
V2EX  ›  分享发现

NodeJS&&Electron 真的太好用了,推荐~!

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

    需求是一个跨平台的桌面应用程序
    技术栈 java,原计划用 swing 实现,但是实际开发起来才发现难度不是一般大,很难实现一些动态灵活的页面效 果,还需要细致地调整页面组件布局。90%的时间都浪费在写 view。这样的工作量安排大概是 60 工作日 后来经同学推荐,尝试使用 Electron,真的太舒服了,完全以前端形式来写 GUI 工具,两周 不到就做完了。
    总结一下,对于后端技术选型采用 Electron 有以下优缺点:

    优点

    1、GUI 相关模块已经封装好,可以专心写业务
    2、运行于 V8 引擎,可跨平台使用
    3、页面展示可完全使用现有的前端开发模式,有丰富的社区和资源供使用
    4、自动更新
    5、最大优点,大大减少开发周期

    缺点

    1、需要有一定的 Node 和前端知识储备
    2、由于集成的核心功能,打包后的应用很大,空项目也有 90MB 左右
    3、性能相对于 MFC 和 swing 有差距
    4、业务模块中无法直接操作 GUI (基于资源泄露问题设计)
    5、搭建开发环境过程相当复杂,从安装到开发、测试、部署,基本全靠命令行,尤其是打包工具的部分依赖包极难下载
    6、对于部署程序的系统版本有一定要求,可能会缺失相应的库,需要手动加入

    综上所述,大力推荐就完了

    36 回复  |  直到 2019-10-09 13:22:49 +08:00
        1
    Marstin   54 天前
    github 自家的 Atom 就是基于 Electron
        2
    cmdOptionKana   54 天前
    优势确实很大,因此早已有很多厂家采用这套方案了。虽然 v2 这里很多程序员嫌“重”,但其实大部分普通用户不懂重不重。
        3
    Marstin   54 天前
    @cmdOptionKana 客户端仙子几乎处于性能过剩时代,桌面程序“重”瑕不掩瑜
        4
    Marstin   54 天前
    #3 现在
        5
    misaka19000   54 天前   ♥ 1
    。。。仿佛来到了三年前
        6
    Marstin   54 天前
    @misaka19000 文艺复兴
        7
    quqiuzhu   54 天前 via Android   ♥ 4
    Windows XP 太好用了,推荐~
        8
    memedahui   54 天前   ♥ 2
    大清亡了.jpg
        9
    qiutianaimeili   54 天前
    iphone4 太好用了,推荐~
        10
    Marstin   54 天前
    呜呜呜,V2er 太严格了叭
        11
    shuichengjian   54 天前
    前端路过。。。。
    反正 notion 也是用 Electron。。。
    反正大家都说 Node.JS 可以过时了。。。
        12
    fatelight   54 天前
    缺点就是相对原生的有点卡,不过优化好的话,体验比接近原生,比 java 好很多。
    xmind 就是例子,java 的 xmind 卡得哼,Electron 的 xmind zen 非常流畅,虽然比不上原生,但是体验好了很多。
    其实不太在意安装包大小,只要不是特别夸张
        13
    hoyixi   54 天前   ♥ 2
    时代变了

    当年写程序都是各种优化和节俭,生怕多耗费用户一点内存

    现在都默认用户为了用我的程序,会一拍桌子买内存
        14
    yautou   54 天前
    我们司正要放弃 Electron 重头再来。。。
        15
    nVoxel   54 天前 via Android
    Barcode 是不是也是基于这个结构的?
        16
    nVoxel   54 天前 via Android
    纠错 vscode
        17
    damngood   54 天前
    个人非常不喜欢. 对资源不友好, 不过只要目标用户能接受就好
        18
    artandlol   54 天前 via Android
    村网通 electron-forge init 打包什么都给你做好了
        19
    int64ago   54 天前
    这么巧,你也上网冲浪……
        20
    Shy07   54 天前
    追求原生性能和体积的等一个 nodegui 1.0 吧
        21
    Marstin   54 天前
    @artandlol electron-forge init 是脚手架,跨平台打包是用 electron-builder
        22
    Marstin   54 天前
    @hoyixi 还有一个很现实的问题是现在多数用户都不太能接受桌面应用,近几年入行的,很多人可能都没做过桌面应用,都已经适应了 B/S 架构。话说你说的这个现象,最典型的是游戏吧
    @yautou 请问是基于什么原因考虑的呢?新的技术选型是?借鉴一下= =
        23
    guokeke   54 天前
    你们不要总是打击新人的积极性,16 年的时候你们不也很激动吗?
        24
    Marstin   54 天前
    @nVoxel 按照官方的描述,是的
    `VS Code is using the Electron framework to run on multiple platforms`
        25
    Counter   54 天前
    @misaka19000
    @quqiuzhu
    @memedahui
    @qiutianaimeili
    你们是说楼主的方案落后吗?
    顺便问下现在跨平台的桌面应用程序应该用什么方案
        26
    memedahui   54 天前
    @Counter JAVA GUI (逃
        27
    jon   54 天前
    感谢大侠的推荐
        28
    wm5d8b   53 天前
    我也很好奇你们说 electron 落后的,都是用什么方案。难道人均 flutter 吗?
        29
    ezreal   53 天前
    刚写了个聊天工具
        30
    ShareManT   53 天前
    @fatelight Xmind Zen 无法开结点比较多的思维导图,java 版的这点上还是要好很多。
        31
    fatelight   53 天前
    @ShareManT 估计我轻度使用吧
        32
    SilentDepth   53 天前
    「成也 Node,败也 Node 」
        33
    sobigfish   53 天前
    真的不喜欢 Electron,一堆硬件公司是缺人的么居然也用 Electron: SteelSeries, 还有 ea 的 origin (当然这个不是硬件公司—-) 真的慢、卡、低效
        34
    g0thic   53 天前
    哇 谢谢 楼主推荐 我还在用 NW.js🐶
        35
    emeab   51 天前
    天翼 3g 太快拉 推荐
        36
    zhuwd   35 天前 via iPhone
    请问自动更新是全量更新还是差异更新
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2803 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 11:56 · PVG 19:56 · LAX 03:56 · JFK 06:56
    ♥ Do have faith in what you're doing.