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

现在都用什么开发 Windows GUI 客户端?

  •  6
     
  •   fox0001 · 2018-12-27 12:19:52 +08:00 via Android · 38870 次点击
    这是一个创建于 2150 天前的主题,其中的信息可能已经有所发展或是发生改变。
    除了 C#和 Web,有没有推荐?开发快,兼容好,最好可以跨平台
    144 条回复    2018-12-29 19:41:57 +08:00
    1  2  
    plqws
        1
    plqws  
       2018-12-27 12:37:36 +08:00
    开发快兼容好跨平台?只有 web 了
    willm
        2
    willm  
       2018-12-27 12:39:12 +08:00 via Android
    electron java qt
    SuperMild
        3
    SuperMild  
       2018-12-27 12:40:15 +08:00   ❤️ 1
    electron 一统天下。
    rookiebulls
        4
    rookiebulls  
       2018-12-27 12:40:31 +08:00 via iPhone
    pyqt
    ingbyr
        5
    ingbyr  
       2018-12-27 12:41:33 +08:00 via iPhone
    javafx?
    shuax
        6
    shuax  
       2018-12-27 12:42:51 +08:00
    electron
    XIVN1987
        7
    XIVN1987  
       2018-12-27 12:43:31 +08:00
    PyQt
    Qt 官方发布了 PySide2,,以后可能会转过来
    DOLLOR
        8
    DOLLOR  
       2018-12-27 12:44:38 +08:00 via Android
    不谈硬件资源限制的一律推荐 electron
    hilbertz
        9
    hilbertz  
       2018-12-27 12:45:41 +08:00
    qt 对 hidpi 桌面支持很差,以后都是 web 的天下,不如早作打算
    ttvast
        10
    ttvast  
       2018-12-27 13:22:45 +08:00   ❤️ 4
    怀念 delphi 和 c++builder
    xrr2016
        11
    xrr2016  
       2018-12-27 13:31:33 +08:00
    flutter 也要支持桌面应用开发
    natforum
        12
    natforum  
       2018-12-27 13:32:30 +08:00   ❤️ 1
    golang
    KingOfUSA
        13
    KingOfUSA  
       2018-12-27 13:35:27 +08:00
    delphi
    muyi
        14
    muyi  
       2018-12-27 13:36:36 +08:00
    delphi
    chenqh
        15
    chenqh  
       2018-12-27 13:37:12 +08:00
    java,qt, web 把
    easylee
        16
    easylee  
       2018-12-27 13:39:01 +08:00
    QT
    diyisoft
        17
    diyisoft  
       2018-12-27 13:39:04 +08:00
    delphi,现在全平台了吧
    huangdadaxian
        18
    huangdadaxian  
       2018-12-27 13:39:45 +08:00
    Delphi
    kernel
        19
    kernel  
       2018-12-27 13:41:56 +08:00
    delphi 这么小众的就算了吧,还不如就用 QT 了
    当然没有特殊需求的话我只会用 electron
    loading
        20
    loading  
       2018-12-27 13:46:26 +08:00 via Android
    delphi 听说很强,到时语法我是觉得……

    aauto 能做不少小工具
    janxin
        21
    janxin  
       2018-12-27 13:49:35 +08:00   ❤️ 4
    electron 一把梭,亲爱的用户我是你爹
    wshcdr
        22
    wshcdr  
       2018-12-27 13:51:18 +08:00   ❤️ 2
    C# 啊
    lucahan
        23
    lucahan  
       2018-12-27 13:51:21 +08:00
    electron 还有悬念吗
    guolaopi
        24
    guolaopi  
       2018-12-27 13:52:06 +08:00
    MFC
    lihongjie0209
        25
    lihongjie0209  
       2018-12-27 13:53:13 +08:00
    electron 太卡不用
    v2dead
        26
    v2dead  
       2018-12-27 13:56:18 +08:00
    之前开发的都是内部用小工具,早先用 python 不好分发,后来用 golang,但 UI 库不够成熟,只能做简单的,小工具是够了。
    Vegetable
        27
    Vegetable  
       2018-12-27 14:07:12 +08:00
    @natforum go 写 GUI 我记得是没什么好办法的
    liuxey
        28
    liuxey  
       2018-12-27 14:14:20 +08:00
    如果对 native api 没有强需求,用 web 的方式更经济,也更好推广。
    qbhy
        29
    qbhy  
       2018-12-27 14:22:30 +08:00
    electron 统一天下
    yanaraika
        30
    yanaraika  
       2018-12-27 14:23:32 +08:00 via Android
    electron 真是开发一时爽 用户内存火葬场
    tabris17
        31
    tabris17  
       2018-12-27 14:25:00 +08:00
    wxWidgets
    miyuki
        32
    miyuki  
       2018-12-27 14:29:11 +08:00
    不考虑资源,electron 一把梭
    salamanderMH
        33
    salamanderMH  
       2018-12-27 14:30:04 +08:00
    只考虑能跑,不考虑性能什么的,用 electron
    zjsxwc
        34
    zjsxwc  
       2018-12-27 14:31:13 +08:00
    c++ wxWidgets
    shyangs
        35
    shyangs  
       2018-12-27 14:41:49 +08:00
    electron 开发快,兼容好,可以跨平台
    shijingshijing
        36
    shijingshijing  
       2018-12-27 14:42:40 +08:00 via iPhone
    推荐 c#的这么少。。。 药丸啊
    iwtbauh
        37
    iwtbauh  
       2018-12-27 14:45:26 +08:00 via Android   ❤️ 2
    还是推荐 GTK+

    支持的系统多,GNU/Linux,BSD,OS X 等 Unix-like 系统和 ms-windows。
    支持的语言多,C/C++,Python,JavaScript,C#,golang,Java,Lua,Rust,Perl,…………
    主题机制非常灵活,GTK+3 是使用 CSS 来改变观感效果,制作自己的主题非常简单。因此可以轻易做出应用程序独特的观感效果和动画。
    使用 glade 界面设计器可以非常简便地制作界面。

    目前 GTK+ 3.22 (3.24) 已经使得 GTK+ 3 的 API 不再变化,可以长期稳定使用。

    使用 GTK+编写的知名程序:GNOME,GIMP 等
    chchwy
        38
    chchwy  
       2018-12-27 14:55:39 +08:00
    Qt
    UIXX
        39
    UIXX  
       2018-12-27 14:58:32 +08:00   ❤️ 4
    又说 Window GUI...又说跨平台,不是矛盾?

    现在在做专业领域软件,对于这类软件,跨平台通常不是个好的选择:
    Win 平台上只有 C++ 跟 C# 可选,通常是 C++做引擎跟底层算法,WPF 做皮。

    对于普通软件,通常都是 Qt 做皮,首推 Py 系,PyQt 其实还不错,跨平台也简单。

    工具类等小型软件,Py 系、Java 系 GUI 都可以用,甚至可以用 Delphi...

    electron...做过几款软件,始终觉得是 Web 统一天下道路上的一个试验品,不算成熟,包含了太多临时解决方案,持观望态度。
    fox0001
        40
    fox0001  
    OP
       2018-12-27 15:09:59 +08:00 via Android
    @iwtbauh #37 有无入坑指南?
    GoodRainChen
        41
    GoodRainChen  
       2018-12-27 15:18:12 +08:00
    @UIXX
    JAVA 系现在做小工具软件用什么框架了?
    我还记得大学时候用的那个拖控件的,UI 极其复古,那简直不能看
    jlkm2010
        42
    jlkm2010  
       2018-12-27 15:28:17 +08:00
    能上 web 都上 web,上不了 web 就用 javafx
    iwtbauh
        43
    iwtbauh  
       2018-12-27 15:28:32 +08:00 via Android
    @fox0001 #40

    GTK+3 最新版本 C API 参考: https://developer.gnome.org/gtk3/3.24/

    最新版本 API 使劲推荐 gapplication 类,其实可以用 gtk_init() 和 gtk_main() 这种更直观的消息循环模型。可以看就版本 API 参考了解。

    这是 C api 参考,C++,Python 等其他语言的文档都可以从 Google 搜索到,也非常多。

    中文资料较少且偏过时,不要用中文搜索
    MetalCore
        44
    MetalCore  
       2018-12-27 15:35:44 +08:00
    wpf + CefSharp
    admirez
        45
    admirez  
       2018-12-27 15:36:29 +08:00
    当然是 delphi,全平台,支持高 DPI
    UIXX
        46
    UIXX  
       2018-12-27 15:44:38 +08:00
    Qt/SWT @GoodRainChen
    flyzero
        47
    flyzero  
       2018-12-27 16:01:41 +08:00
    请问 golang 有什么顺手的 gui 库使用吗
    xrlin
        48
    xrlin  
       2018-12-27 16:21:07 +08:00
    @flyzero walk? 有段时间我也想写下 gui,看了很多 ui 库,后来想想这些小工具类的要啥 gui,cli 就行了。。。
    flyzero
        49
    flyzero  
       2018-12-27 16:26:25 +08:00
    @xrlin walk 只能 window 下的小工具吧,现在自己弄 mac 下软件,看来看去好像只有 electron+动态库了好像或者 wasm
    xiri
        50
    xiri  
       2018-12-27 16:31:52 +08:00 via Android
    Qt
    abcbuzhiming
        51
    abcbuzhiming  
       2018-12-27 16:38:40 +08:00
    不考虑跨平台,windows GUI 上 C#绝对没错
    coderfox
        52
    coderfox  
       2018-12-27 16:43:09 +08:00
    上来就把 C# 排除了,那流行度最好的就是 Electron 了。
    LokiSharp
        53
    LokiSharp  
       2018-12-27 16:45:47 +08:00
    Qt 是最好的
    eternaldzw
        54
    eternaldzw  
       2018-12-27 16:49:09 +08:00
    C#可以用 mono 跨平台
    hustyjc
        55
    hustyjc  
       2018-12-27 16:51:00 +08:00
    qt, qt 5.7 以后 hidpi 支持已经很完善了
    rAYz
        56
    rAYz  
       2018-12-27 16:52:35 +08:00
    delphi,现在有全平台了…
    WilliamLin
        57
    WilliamLin  
       2018-12-27 16:53:13 +08:00 via Android
    electron
    cchange
        58
    cchange  
       2018-12-27 16:53:14 +08:00
    我期待 C#
    而且 WPF 下一版本已再开源 期待中
    Terry05
        59
    Terry05  
       2018-12-27 17:18:40 +08:00
    electron 或 nw.js ,相比之下,还是 electron 好用方便
    xschaoya
        60
    xschaoya  
       2018-12-27 17:40:35 +08:00 via Android
    electron 安装程序都好大鸭,动不动上百 m
    wenzhoou
        61
    wenzhoou  
       2018-12-27 17:43:20 +08:00 via Android
    我也不喜欢 electron 太大了。老实点写 html 吧。
    jeremaihloo
        62
    jeremaihloo  
       2018-12-27 17:48:37 +08:00
    听说明年 C#的 WPF 和 WinForm 要开源,我在期待中
    edsgerlin
        63
    edsgerlin  
       2018-12-27 19:00:02 +08:00   ❤️ 1
    axeojpwt
        64
    axeojpwt  
       2018-12-27 19:18:59 +08:00
    qt
    wmwwmv
        65
    wmwwmv  
       2018-12-27 19:22:54 +08:00
    你搞了一圈会发现 C#是最好的
    xuanbg
        66
    xuanbg  
       2018-12-27 19:30:56 +08:00
    跨平台? web 是第一选择,然后才是 QT 什么的做桌面客户端。
    jiangnanyanyu
        67
    jiangnanyanyu  
       2018-12-27 19:33:58 +08:00 via Android
    electron 一梭子
    lovelybear
        68
    lovelybear  
       2018-12-27 19:48:30 +08:00 via Android
    WPF
    huclengyue
        69
    huclengyue  
       2018-12-27 20:04:31 +08:00 via Android
    flutter 啊🤣
    hoythan
        70
    hoythan  
       2018-12-27 20:17:46 +08:00
    electron 统计来看,几乎全在中国。
    ashong
        71
    ashong  
       2018-12-27 20:18:26 +08:00
    c++ webserver + chromium
    harvest
        72
    harvest  
       2018-12-27 20:24:14 +08:00 via Android
    @cchange 好像也仅仅是开源,并不跨平台
    KasuganoSoras
        73
    KasuganoSoras  
       2018-12-27 20:25:56 +08:00
    如果我说易语言……我会给打死吗?
    luo1945049855
        74
    luo1945049855  
       2018-12-27 20:26:57 +08:00
    Qt、WTL、CEF、Electron.
    simonsww
        75
    simonsww  
       2018-12-27 20:33:14 +08:00
    @KasuganoSoras 不会,易语言满足了开发快的需求,但跨平台比较难,做做小工具是蛮好
    mmdsun
        76
    mmdsun  
       2018-12-27 20:51:30 +08:00 via Android
    @shijingshijing 注意审题:除了 C#和 Web,有没有推荐?
    zhchyu999
        77
    zhchyu999  
       2018-12-27 20:57:12 +08:00
    把最优解都排除了
    grewer
        78
    grewer  
       2018-12-27 21:02:35 +08:00
    electron 用起来有点难受 还有很多 bug 都没修好
    idcspy
        79
    idcspy  
       2018-12-27 21:45:30 +08:00   ❤️ 1
    说易语言不会被打吧:)
    eagle40
        80
    eagle40  
       2018-12-27 21:49:21 +08:00
    应该是 Qt 了
    sss3600123
        81
    sss3600123  
       2018-12-27 21:50:48 +08:00 via iPhone
    winform
    kran
        82
    kran  
       2018-12-27 21:51:27 +08:00 via Android
    sciter
    sker101
        83
    sker101  
       2018-12-27 21:52:54 +08:00 via iPhone
    看你应用啥用处 如果对硬件操作多的建议不要 electron 就个简单的打印 如果要点花样都要死要活 没有特别好的库可以用 得自己写 c++库
    inframe
        84
    inframe  
       2018-12-27 22:03:41 +08:00
    winform ,wpf, Windows 上做个视图层是最舒服的,qt 那个差不多也可以,
    GUI 这个和语言倒关系不大
    还是看技术框架
    Dogeg
        85
    Dogeg  
       2018-12-27 23:04:16 +08:00
    大佬搭车问下,用 C# 做 GUI 选 wpf, winform,怎么选。
    开源了有啥影响,不是还是只能跑 Windows 上吗?
    myhot21
        86
    myhot21  
       2018-12-27 23:52:46 +08:00
    java swing
    ipwx
        87
    ipwx  
       2018-12-28 00:14:12 +08:00
    JS 系的东西,总觉得放半年以后,就很难一次编译通过了。

    哪像 Qt,我四年前用 Qt4 写的小工具,现在在 Qt5 下面很轻松还能编译成功。
    master
        88
    master  
       2018-12-28 02:25:59 +08:00
    c# 用 mono 跨平台还是靠谱的
    xupefei
        89
    xupefei  
       2018-12-28 05:37:16 +08:00   ❤️ 6
    我对你讲,跨平台 UI 约等于垃圾。外观丑或功能弱,二者必占其一。
    老老实实分离核心代码和 UI 代码,核心部分用跨平台语言写,UI 部分每个平台专门写一个。
    NicholasYX
        90
    NicholasYX  
       2018-12-28 08:19:07 +08:00 via iPhone
    还是 C#吧
    695975931
        91
    695975931  
       2018-12-28 08:47:23 +08:00
    c#啊。无敌。。
    cchange
        92
    cchange  
       2018-12-28 08:49:19 +08:00
    @harvest 会针对 .NET Core 开发 WPF 据说 相当于.NET Core 的 GUI 实现
    Dogeg
        93
    Dogeg  
       2018-12-28 09:02:22 +08:00 via iPhone
    @cchange #92
    请问是哪路的消息。现在开源的仅限 Windows desktop 吧
    ian19znj
        94
    ian19znj  
       2018-12-28 09:02:46 +08:00
    @Dogeg #85 选 WPF 无疑,Winform 是上一代的技术了,Winform 给我的感觉是 C#版的 MFC。WPF 的 XAML 语言是我目前用过表达 UI 最完美的方案了。开源了之后,虽然微软只负责 WPF 在 Windows 上的实现,但是期待社区能将 WPF 移植到其他平台吧。
    cchange
        95
    cchange  
       2018-12-28 09:06:04 +08:00
    @Dogeg
    https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
    这是消息来源,但是估计不会迁移到别的平台 我没细看 因为我只用 Windows ……
    Removable
        96
    Removable  
       2018-12-28 09:16:32 +08:00
    @shijingshijing #36 你们完整看过楼主写的内容了吗
    Frank9621
        97
    Frank9621  
       2018-12-28 09:32:43 +08:00
    php gui
    nicevar
        98
    nicevar  
       2018-12-28 09:42:17 +08:00   ❤️ 2
    无脑推荐 electron 的估计只写过包含一个 button 的 GUI 程序
    Zeham
        99
    Zeham  
       2018-12-28 10:03:20 +08:00
    问了一个我最近想知道的问题
    ToHaveLight
        100
    ToHaveLight  
       2018-12-28 10:18:22 +08:00
    公司在用 qt,里边的很多界面都是套 cef ( web 界面)
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3490 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:40 · PVG 12:40 · LAX 20:40 · JFK 23:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.