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

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

  •  
  •   CodeXx · 2020-12-22 16:55:28 +08:00 · 8736 次点击
    这是一个创建于 1467 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    不要被语言束缚了,有那时间填 javafx 的坑,C#都学好几遍了。。
    mmdsun
        39
    mmdsun  
       2020-12-23 08:38:22 +08:00 via Android
    兼容古董系统优先 c# wpf, winform,其中 winform 最简单。

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

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

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

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

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

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

    如果你只想用纯 java 实现,那么只能用 swing 了
    charlie21
        58
    charlie21  
       2020-12-23 11:11:30 +08:00
    默认推荐 electron 的人都是准备跳槽到你公司接替你的就对了
    airqj
        59
    airqj  
       2020-12-23 11:26:14 +08:00
    @DeathBless 其实丑不丑跟自己的设计有关.......
    wps 好像是 Qt 做的
    g00001
        60
    g00001  
       2020-12-23 11:30:45 +08:00
    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  
       2020-12-23 12:11:00 +08:00
    electron 或者 c#吧 我个人倾向 c#
    hijoker
        62
    hijoker  
       2020-12-23 12:47:54 +08:00
    electron
    我们公司的教训,web 版已经有了,2 个 2b 非要选 QT,搞了好久搞的丑的很,把人开了,让另一个人用 electron,套用 web 里 vue 的代码,几周就转测试了
    sunmker
        63
    sunmker  
       2020-12-23 13:07:15 +08:00
    C# winform 超级快
    zjsxwc
        64
    zjsxwc  
       2020-12-23 13:17:07 +08:00
    选 electron 。

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

    C# WPF
    yolee599
        67
    yolee599  
       2020-12-23 13:45:54 +08:00
    swing
    jsnjfz
        68
    jsnjfz  
       2020-12-23 13:55:37 +08:00
    C#拖拖控件快的一米,如果用不到太多功能的话语法和 Java 没太多区别,觉得上手没难度
    MakHoCheung
        69
    MakHoCheung  
       2020-12-23 14:00:08 +08:00
    java15+javafx15+jlink+jpackage 完美做到一个 self-contain 应用,大小只有 50mb 左右
    feidao158
        70
    feidao158  
       2020-12-23 14:00:54 +08:00
    考虑速度不考虑质量就 electron
    youxiachai
        71
    youxiachai  
       2020-12-23 14:04:05 +08:00
    @micean flutter desktop 还在 alpha 呢...
    linvaux
        72
    linvaux  
       2020-12-23 14:04:20 +08:00 via iPhone
    py qt5 不香么
    zgcwkj
        73
    zgcwkj  
       2020-12-23 14:13:04 +08:00
    直接让公司外包就好
    pkwenda
        74
    pkwenda  
       2020-12-23 14:40:59 +08:00
    electron 现在坑少,比较流行
    angryfish
        75
    angryfish  
       2020-12-23 14:50:10 +08:00 via iPhone
    没界面美观要求的话,c# winform,否则,还是有 electron 吧,虽然鸡肋了些
    merpyzf
        76
    merpyzf  
       2020-12-23 15:57:47 +08:00
    可以试试 Compose for Desktop 。
    hantsy
        77
    hantsy  
       2020-12-23 18:37:20 +08:00
    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  
       2020-12-26 02:38:00 +08:00
    @yaocai321 我又没强迫贴主用,怎么了,不能提 Flutter 嘛,上面清一色 electron 看腻了不能换个口味嘛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2469 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:43 · PVG 23:43 · LAX 07:43 · JFK 10:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.