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

Java 程序员,公司业务需要做桌面程序,应该用什么技术好

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

    目前考虑的 springboot-javafx,技术栈还是 Java,写起来相对熟悉一点,但是好像也有挺多不同的?还有就是 js 的 electron 。C#那些应该不考虑了,大概率就是我一个人写,一个人维护,目前还是倾向 Java 多点

    78 条回复    2020-12-26 02:38:00 +08:00
    murmur
        1
    murmur  
       351 天前
    先説一下你們要幹嘛的,需求都不说怎么评估技术栈
    manami
        2
    manami  
       351 天前
    electron 上手比 javafx 快,javafx 资料太少了,坑很多……
    Oktfolio
        3
    Oktfolio  
       351 天前
    electron
    oma1989
        4
    oma1989  
       351 天前
    electron
    panda666
        5
    panda666  
       351 天前   ❤️ 1
    QT
    stdout
        6
    stdout  
       351 天前
    electron vue 比 java 简单多了
    tmachineff
        7
    tmachineff  
       351 天前
    electron
    kingfalse
        8
    kingfalse  
       351 天前 via Android   ❤️ 2
    对组件没啥特殊需求的话,swt 可以考虑,eclipse 装完 window builder 直接拖拽,打 jar 包就能跑
    CodeXx
        9
    CodeXx  
    OP
       351 天前
    @murmur 简单的数据展示,实时日志展示
    pierreorz
        10
    pierreorz  
       351 天前
    pyqt5,python 写,让你早下班
    gaosh
        11
    gaosh  
       351 天前
    electron+vue,可以在项目编译的时候一键生成 exe 安装版与免安装版,而且不用考虑用户的环境问题,写起来方便快捷自由度也高
    wysnylc
        12
    wysnylc  
       351 天前
    java 搞桌面应用挺麻烦的,还是建议做个 web,免客户端免更新美滋滋
    Bijiabo
        13
    Bijiabo  
       351 天前
    让公司招个人...
    Saszr
        14
    Saszr  
       351 天前
    vue-cli-plugin-electron-builder
    zsc8917zsc
        15
    zsc8917zsc  
       351 天前
    不嫌体积大就 electron
    lookcos
        16
    lookcos  
       351 天前
    慎入 electron 与 pyqt,
    专业的事情还是交给专业的语言做。
    supermoonie
        17
    supermoonie  
       351 天前 via iPhone
    javafx 也还好 我还在用着 swing ……
    DaRenCC
        18
    DaRenCC  
       351 天前
    现在主流都是 electron 了,大厂都这样应付交差了事,根本不在乎用户的体验,卡到爆炸
    WebKit
        19
    WebKit  
       351 天前 via Android   ❤️ 1
    既然 java 技术栈,那直接做个 java web 然后客户端 html 封装一下不就好了
    matatabi
        20
    matatabi  
       351 天前
    javafx
    crclz
        21
    crclz  
       351 天前   ❤️ 3
    我还是劝你考虑 C#。C#的 WPF 和 Winform 已经久经考验了,框架很成熟,文档和博客也挺多。
    araaaa
        22
    araaaa  
       351 天前
    wpf
    violence123456
        23
    violence123456  
       351 天前 via iPhone
    @lookcos 所以什么语言呢
    weiqk
        24
    weiqk  
       351 天前 via Android
    关键是你下一份工作工作想做什么
    justNoBody
        25
    justNoBody  
       351 天前
    java web + html 套壳
    x940727
        26
    x940727  
       351 天前
    buxudashi
        27
    buxudashi  
       351 天前
    aardio
    x940727
        28
    x940727  
       351 天前
    哎,看错了啊,桌面程序还是 Electron
    CrazyBoyFeng
        29
    CrazyBoyFeng  
       351 天前
    javafx 跟 java 语法不太一样,不过都运行在 jvm 上,javafx 可以操作 java 对象。我本人觉得 javafx 语法比 java 还要简单一些。不过因为不太流行,所以查资料可能不太好查。
    不推荐 electron,打包庞大、占用资源。还不如起个本地 web 服务,把 html 做界面呢。
    SekiBetu
        30
    SekiBetu  
       351 天前   ❤️ 1
    flutter
    cmdOptionKana
        31
    cmdOptionKana  
       351 天前
    简单的界面用 javafx,复杂界面还真的是 electron 更容易开发。
    CoderGeek
        32
    CoderGeek  
       351 天前
    electron
    cclin
        33
    cclin  
       351 天前 via Android
    qt 或者 electron
    zypy333
        34
    zypy333  
       351 天前
    javafx 我用来写过一个影片管理工具,感觉组件有些不够用,都是国外人写的,有的好久都不更新了,找一大圈也就 jfoenix ,controlsfx 这两个库差感觉差不多,自己实现又很不方便,如果重选我会选 electron
    anxn
        35
    anxn  
       351 天前 via Android
    体验好就 qt
    pkupyx
        36
    pkupyx  
       351 天前
    先问你要兼容到哪辈子的 windows 。。。
    TSai2019
        37
    TSai2019  
       350 天前 via Android   ❤️ 1
    wpf,c# 语法和 java 差不多,学习成本极低,甚至比 java 优雅很多
    xaml 相当容易写,比安卓那个 xml 还容易,几分钟就上手了
    文档和第三方库相当丰富
    VeryZero
        38
    VeryZero  
       350 天前   ❤️ 3
    不跨平台就 C#,跨平台就 electron 。

    不要被语言束缚了,有那时间填 javafx 的坑,C#都学好几遍了。。
    mmdsun
        39
    mmdsun  
       350 天前 via Android
    兼容古董系统优先 c# wpf, winform,其中 winform 最简单。

    微软系统开发,用自家的的技术兼容性都会有各种问题,第三方框架老系统就别想了。。

    electron 性能差,不好优化,但开发起来上手速度还行。

    https://developer.microsoft.com/zh-cn/windows/get-started-windows-10/
    kangyan
        40
    kangyan  
       350 天前
    electron 是真的卡,但是的确简单上手
    darknoll
        41
    darknoll  
       350 天前
    我之前用 cef,但是调试前端太麻烦了,前端得自己 mock 数据,我后来还是选 electron
    zchlwj
        42
    zchlwj  
       350 天前
    @DaRenCC #18 原文:“现在主流都是 electron 了,大厂都这样应付交差了事,根本不在乎用户的体验,卡到爆炸”
    ======
    回复:#18 年轻人,这叫拥抱未来 🐶
    Excepti0n
        43
    Excepti0n  
       350 天前
    说实话可能是 C 还是最合适的。。Java 我现在用的图形用的是 JCEF,坑也不少
    colin0830
        44
    colin0830  
       350 天前
    我们是用 javafx
    xsliang
        45
    xsliang  
       350 天前
    用 C# 不太要求好看 要求速度就直接 winform 要好看就 wpf

    真的,用一用才会发现开发还可以这么爽

    10 多年的 dotnet 今年才转 java 的真心推荐
    Rwing
        46
    Rwing  
       350 天前
    其实还是选 C#吧,可以每天 5 点下班去泡妞,不然的话可能凌晨 2 点还在趟坑
    lxilu
        47
    lxilu  
       350 天前 via iPhone
    electron 不如本地 web +1
    Simcyber
        48
    Simcyber  
       350 天前
    C#
    micean
        49
    micean  
       350 天前
    flutter desktop 的坑多不多?
    f6x
        50
    f6x  
       350 天前
    说服老板不要用 CS,用 BS
    zone10
        51
    zone10  
       350 天前
    怎么都推荐 electron, 不是被鄙视的对象吗
    leafre
        52
    leafre  
       350 天前
    不要做,简历里出现会减分
    yaocai321
        53
    yaocai321  
       350 天前
    @SekiBetu 章口就莱?
    yl4311629
        54
    yl4311629  
       350 天前
    跨平台 QT,windows 平台 C#。学习成本不高的,真的
    dhssingle
        55
    dhssingle  
       350 天前
    简单功能,不跨平台,WinForm 不香吗?
    DeathBless
        56
    DeathBless  
       350 天前
    QT 丑的要命 跟 electron 没法比
    当然也有可能是我没找到好看的库- -
    Joker123456789
        57
    Joker123456789  
       350 天前
    服务端肯定是选 java 了,

    桌面端,可以选 C#,QT 等。

    如果你只想用纯 java 实现,那么只能用 swing 了
    charlie21
        58
    charlie21  
       350 天前
    默认推荐 electron 的人都是准备跳槽到你公司接替你的就对了
    airqj
        59
    airqj  
       350 天前
    @DeathBless 其实丑不丑跟自己的设计有关.......
    wps 好像是 Qt 做的
    g00001
        60
    g00001  
       350 天前
    Clash
    ——————————
    使用技术:Electron
    安装包体积:60MB
    开发周期:一年以上

    QV2Ray
    ——————————
    使用技术:QT,C++
    安装包体积:40MB(含 Core )
    开发周期:一年以上

    V2RayN
    ——————————
    使用技术:C#
    安装包体积:21MB + 200MB .Net 运行时
    开发周期:一年以上

    winXray
    ——————————
    使用技术:aardio
    安装包体积:5MB(含 Core)
    开发周期:数天
    fork 数: https://github.com/search?q=winXray+license%3AUnlicense+fork%3Atrue+sort%3Aupdated
    油管博主吹逼是 Windows 上最好用的 X 软件客户端 https://www.youtube.com/results?search_query=winXray&sp=CAI%253D
    iceneet
        61
    iceneet  
       350 天前
    electron 或者 c#吧 我个人倾向 c#
    hijoker
        62
    hijoker  
       350 天前
    electron
    我们公司的教训,web 版已经有了,2 个 2b 非要选 QT,搞了好久搞的丑的很,把人开了,让另一个人用 electron,套用 web 里 vue 的代码,几周就转测试了
    sunmker
        63
    sunmker  
       350 天前
    C# winform 超级快
    zjsxwc
        64
    zjsxwc  
       350 天前
    选 electron 。

    javafx 同样体积大,资料少。
    electron 虽然体积大,但资料多,用户多。
    myv2ex
        65
    myv2ex  
       350 天前
    桌面程序要看本地计算密集型,还是网络密集型,本地计算密集型,纯 java 建议采用 RCP 这样的技术完成桌面端开发工具,网络密集型直接就当网页做了,用 electron 。要看你的客户端程序的性质,CRUD 类型的就用 electron 封一个完事儿,本身的性质就决定没必要用哪些足够扎实的基础技术来完成,看当下评论,应该很少有人能搞定了。
    tctc4869
        66
    tctc4869  
       350 天前
    C++ qt

    C# WPF
    yolee599
        67
    yolee599  
       350 天前
    swing
    jsnjfz
        68
    jsnjfz  
       350 天前
    C#拖拖控件快的一米,如果用不到太多功能的话语法和 Java 没太多区别,觉得上手没难度
    MakHoCheung
        69
    MakHoCheung  
       350 天前
    java15+javafx15+jlink+jpackage 完美做到一个 self-contain 应用,大小只有 50mb 左右
    feidao158
        70
    feidao158  
       350 天前
    考虑速度不考虑质量就 electron
    youxiachai
        71
    youxiachai  
       350 天前
    @micean flutter desktop 还在 alpha 呢...
    linvaux
        72
    linvaux  
       350 天前 via iPhone
    py qt5 不香么
    zgcwkj
        73
    zgcwkj  
       350 天前
    直接让公司外包就好
    pkwenda
        74
    pkwenda  
       350 天前
    electron 现在坑少,比较流行
    angryfish
        75
    angryfish  
       350 天前 via iPhone
    没界面美观要求的话,c# winform,否则,还是有 electron 吧,虽然鸡肋了些
    merpyzf
        76
    merpyzf  
       350 天前
    可以试试 Compose for Desktop 。
    hantsy
        77
    hantsy  
       350 天前
    1 。JavaFx 是 Java 上比较成熟的 Swing 替代品。如果你不喜欢 Swing 。

    2 。 使用 Swing 的话,也不错,至少现在非常成熟,但原始 API 写起来很啰嗦。以前一个 Groovy 项目做了很多扩展。https://freecontent.manning.com/wp-content/uploads/groovy-swingbuilder-and-threading.pdf

    3 。基于 IDEA 框架或者 NetBeans 基础框架,这种安例还是很多,模块式开发容易扩展。

    4 。Eclipse 平台,模块式开发,接近原生界面。

    长期考虑角度,建议找大树靠,即上面,3 和 4,问题是你要花时间去熟悉这些平台。
    SekiBetu
        78
    SekiBetu  
       347 天前
    @yaocai321 我又没强迫贴主用,怎么了,不能提 Flutter 嘛,上面清一色 electron 看腻了不能换个口味嘛
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1300 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 18:22 · PVG 02:22 · LAX 10:22 · JFK 13:22
    ♥ Do have faith in what you're doing.