• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Trinity888
V2EX  ›  程序员

Window 平台,开发客户端软件,大家一般用什么语言写界面呀?

  •  3
     
  •   Trinity888 · Apr 29, 2020 · 14632 views
    This topic created in 2380 days ago, the information mentioned may be changed or developed.
    95 replies  •  2020-06-03 16:10:17 +08:00
    littleshy
    littleshy
    Apr 29, 2020❤️5
    1
    只关心 Windows 平台的话,C#啊,WPF 爽到飞起。
    Fx8m
    Fx8m
    Apr 29, 2020❤️2
    2
    C#
    ligiggy
    ligiggy
    Apr 29, 2020 via iPhone❤️2
    3
    winform wpf mfc
    liangzimo
    liangzimo
    Apr 29, 2020
    4
    WPF 啊,直接起飞
    Trinity888
    Trinity888
    OP
    Apr 29, 2020
    5
    @littleshy 哦,是不是 Qt 也可以呀? WPF 、C# 不擅长,你对 WPF 熟悉?
    Trinity888
    Trinity888
    OP
    Apr 29, 2020
    6
    @ligiggy wpf 能支持 Linux 吗?
    littleshy
    littleshy
    Apr 29, 2020❤️2
    7
    @Trinity888 #5 做过一段时间 WPF,开发体验非常爽。
    wpf 不能跨平台,如果有跨平台需要,还是 Qt 吧。
    如果只是 Windows 平台,那 WPF 肯定是最佳选择。
    Ackvincent
    Ackvincent
    Apr 29, 2020
    8
    界面直接上 QT 简单快速
    thfurior
    thfurior
    Apr 29, 2020❤️2
    9
    C#,效率贼高
    onecode
    onecode
    Apr 29, 2020❤️2
    10
    如果只是 Windows,那肯定 wpf,想都不要想
    None123
    None123
    Apr 29, 2020
    11
    跨平台 用 electron
    ligiggy
    ligiggy
    Apr 29, 2020
    12
    @Trinity888 不支持。现在 C#还是只能用.Net FrameWork 在 VS 上做界面。之前有.Net Core 的 NanUI,不知道现在咋样了。
    ragnaroks
    ragnaroks
    Apr 29, 2020❤️2
    13
    唯一不二选择 WPF,别的都是二的选择


    @ligiggy dotnet core 有 WPF 实现,不过仅 windows
    ingbyr
    ingbyr
    Apr 29, 2020 via iPhone❤️2
    14
    javafx 一把梭
    ligiggy
    ligiggy
    Apr 29, 2020
    15
    @ragnaroks 我去了解下
    a2532521
    a2532521
    Apr 29, 2020
    16
    win 平台坑太多
    Trinity888
    Trinity888
    OP
    Apr 29, 2020
    17
    是啊。Window 说起来真是一把鼻涕一把泪,C#程序:要求安装的东西好多,各种 dll 不存在情况。WPF 自己不擅长,谢谢同伴们的回复。
    Trinity888
    Trinity888
    OP
    Apr 29, 2020❤️1
    18
    @ingbyr Java 也可以,效果怎么样?因为本人是 Java 出身,历年来也是被各种客户端围绕,Qt 也做过一些
    ingbyr
    ingbyr
    Apr 29, 2020 via iPhone
    19
    @Trinity888 只写过一个小工具,javafx 主要是起步比较晚,甚至直到 java14 才有一个官方的打包工具,跨平台开发还不错
    abcbuzhiming
    abcbuzhiming
    Apr 29, 2020
    20
    QT 是 C++啊,怎么会有人觉得 QT 简单,出点问题你会自己处理吗?别低估 C++的坑
    TangMonk
    TangMonk
    Apr 29, 2020 via iPhone
    21
    Lazarus 不错,跨平台
    ajaxfunction
    ajaxfunction
    Apr 29, 2020
    22
    套壳
    jin7
    jin7
    Apr 29, 2020
    23
    python & QT 简单好用
    Vindroid
    Vindroid
    Apr 29, 2020
    24
    qt c++ 因为要跨多个平台,没得选
    arthas2234
    arthas2234
    Apr 29, 2020❤️1
    25
    我手上也有个做 windows 桌面软件的项目,考虑用 electron 实现,还能多学习下前端技术
    hoyixi
    hoyixi
    Apr 29, 2020
    26
    如果是商业应用,Qt 要钱
    xcstream
    xcstream
    Apr 29, 2020❤️1
    27
    electron
    MinQ
    MinQ
    Apr 29, 2020❤️1
    28
    C#,WPF,弹射起飞,吊打 Qt 十八条街
    MinQ
    MinQ
    Apr 29, 2020❤️1
    29
    @Trinity888 不用吧,现在塞个.net framework 4.7 进去,啥问题都解决了
    dearmymy
    dearmymy
    Apr 29, 2020
    30
    mfc
    xcstream
    xcstream
    Apr 29, 2020
    31
    web 生态丰富画图表什么的比较方便
    kiracyan
    kiracyan
    Apr 29, 2020
    32
    QT WPF Winform
    salamanderMH
    salamanderMH
    Apr 29, 2020 via Android
    33
    wpf 挺好的。
    duan602728596
    duan602728596
    Apr 29, 2020 via iPhone
    34
    曾经试过 react-nodegui,虽然已经接近前端开发的体验了,但是还是有很多坑。追求快的话还是推荐 electron 或 nwjs 吧
    leon0903
    leon0903
    Apr 29, 2020
    35
    javafx
    agoodob
    agoodob
    Apr 29, 2020
    36
    UFc8704I4Bv63gy2
    UFc8704I4Bv63gy2
    Apr 29, 2020 via Android
    37
    wxwidgets,推荐,原生跨平台,qt 非原生跨平台
    snailya
    snailya
    Apr 29, 2020❤️2
    38
    WPF 好东西
    luozic
    luozic
    Apr 29, 2020❤️2
    39
    不跨啥平台,果断 C#
    Kylin30
    Kylin30
    Apr 29, 2020
    40
    c#,我只会一点 python 都能做东西,就是机器配置差,vs 有点儿吃力。
    9dP06m83vIV00l72
    9dP06m83vIV00l72
    Apr 29, 2020
    41
    我用 GTK3,熟练了用得也很溜。。。

    现在在做 DBKangaroo, Github 搜一下即可。
    alleng
    alleng
    Apr 29, 2020
    42
    懂 js 的话用 electron
    LFee
    LFee
    Apr 29, 2020
    43
    @jin7 最近我也是在用 python+qt 写然后进行打包,然而缺少 DLL 文件,找了一圈还是解决不了,准备放弃了。我还是太菜
    djoiwhud
    djoiwhud
    Apr 29, 2020 via Android
    44
    reactjs
    J0G57faC6uPo75W0
    J0G57faC6uPo75W0
    Apr 29, 2020 via Android
    45
    electron-vue + elementui 开发效率很快。

    缺点也很明显,electron 嘛。
    Hellert
    Hellert
    Apr 29, 2020 via Android❤️2
    46
    Delphi
    statfall
    statfall
    Apr 30, 2020 via Android
    47
    vb 哈哈哈
    BlackGrasshopper
    BlackGrasshopper
    Apr 30, 2020❤️1
    48
    这时候就得说下跨平台方案 xamarin 了 ios 和 android 都能写
    kergee
    kergee
    Apr 30, 2020❤️1
    49
    WPF
    MonoLogueChi
    MonoLogueChi
    Apr 30, 2020 via Android
    50
    wpf,xml 写界面
    crab
    crab
    Apr 30, 2020
    51
    还没开始用 electron
    ww940521
    ww940521
    Apr 30, 2020 via Android
    52
    winform 拖拖拖
    janxin
    janxin
    Apr 30, 2020❤️2
    53
    C#
    ZZSZZSZZS
    ZZSZZSZZS
    Apr 30, 2020 via iPhone
    54
    Qt,就是 C++用着确实要麻烦一些
    optimistic
    optimistic
    Apr 30, 2020 via Android
    55
    易语言 #手动狗头
    ZZSZZSZZS
    ZZSZZSZZS
    Apr 30, 2020 via iPhone
    56
    @hoyixi qt 库基于 lgpl 协议,如果不修改 qt 库的代码,用动态链接的方式发布商业应用是不需要向 qt 交钱的
    xingfu0539
    xingfu0539
    Apr 30, 2020 via Android❤️1
    57
    国内这些大厂一般都是 c++,界面 directui 库(很多大厂自己维护一套,网上也有开源的,比如 duilib,soui ),好处是安装包小,不追求这个纯 Windows 平台,建议直接 wpf
    mostkia
    mostkia
    Apr 30, 2020
    58
    说 vb 的够了,还有,现在 html 打包界面也挺好的,成本低。网易云、微信之类的估计都是这种类型的
    eroko
    eroko
    Apr 30, 2020❤️2
    59
    windows 平台的话肯定是 WPF 了,不用想其他
    ychbest
    ychbest
    Apr 30, 2020❤️2
    60
    wpf
    xoxo419
    xoxo419
    Apr 30, 2020
    61
    /t/179360 /t/521473
    关于 windows GUI 开发语言的帖子
    ddup
    ddup
    Apr 30, 2020❤️1
    62
    C# WinForm || C# WPF || Electron
    yuankui
    yuankui
    Apr 30, 2020
    63
    js+electron,一把梭
    newmlp
    newmlp
    Apr 30, 2020
    64
    Qt
    Torpedo
    Torpedo
    Apr 30, 2020
    65
    @Trinity888 java 写 c#也是分分钟吧
    berumotto
    berumotto
    Apr 30, 2020❤️1
    66
    Windows 界面当然 WPF
    raptor
    raptor
    Apr 30, 2020
    67
    这年头还不用 Electron 是不是有点 out
    paoqi2048
    paoqi2048
    Apr 30, 2020
    68
    Qt
    aydd2004
    aydd2004
    Apr 30, 2020❤️1
    69
    就没见过比 C#爽的 当然你做的酷炫点还是有点烦

    为什么前端那些框架就不能出个 vs 这种类型的玩意,拖控件,写事件代码,搞定。
    12101111
    12101111
    Apr 30, 2020❤️2
    70
    为了节能减排,为了客户体验,不要用 Electron, 除非你能写成 vscode 那样
    Chenamy2017
    Chenamy2017
    Apr 30, 2020
    71
    看来说 Electron 的人不少,这下我放心了,可以继续开发我的 Electron + VUE + ElementUI 项目了。
    话说我以前开发 QT 的,也是跨平台,挺好用的。
    ingramyang
    ingramyang
    Apr 30, 2020
    72
    请使用 QT,不要在写单平台代码了,Windows 需要被脱离。
    wu67
    wu67
    Apr 30, 2020
    73
    @aydd2004 .net asp 了解一下...
    Cloutain
    Cloutain
    Apr 30, 2020
    74
    Qt yes!!!!
    WPF yes!!!! yes!!!!
    易语言 yes yes yes!!!!!
    heyhumor
    heyhumor
    Apr 30, 2020
    75
    Dephi 是个好东西,C#鼻祖
    brucezhou
    brucezhou
    Apr 30, 2020
    76
    electron 加 reactjs,直接起飞,谁还用 WPF 那套东西
    selectAndAction
    selectAndAction
    Apr 30, 2020
    77
    C++
    faketemp
    faketemp
    Apr 30, 2020
    78
    Winform/WPF/java 要所有客户机强制安装运行时
    Electron/QT 动辄都要几十兆起

    好怀念当年 VB/C/C++/旧 Delphi 的时候,编译出的文件从不担心任何兼容不依赖任何乱七八糟的东西,写出的工具都是 kb 最多几兆搞定,这才是真轻量

    现在随便写个计算器,不装个几十上百兆的东西都跑不起
    不知道程序设计技术是大发展了,还是在倒退 ε=(´ο`*)))唉
    yolee
    yolee
    Apr 30, 2020
    79
    打算跨平台:QT,只在 win 使用:.Net 。
    Jirajine
    Jirajine
    Apr 30, 2020 via Android
    80
    sciter,体积小,轻量,html 写界面。
    复杂应用 electron 还是首选,确实体积大占内存多,但用 native 扩展 /服务 ipc/wasm 的情况下性能不会是瓶颈,以此带来的丰富的生态和快速的开发效率绝对是值得的。
    asdjgfr
    asdjgfr
    Apr 30, 2020
    81
    我们公司用的 electron
    nerocc
    nerocc
    Apr 30, 2020❤️6
    82
    楼主不要乱听吧,这个不是那么简单的问题的。
    一个现代的工程,除了用什么技术框架以外还要考虑很多别的东西的。技术的未来发展,跨平台的可能性,代码重复利用性,等等。
    技术投资也是一个需要考虑的大问题,你这么问,意思应该就是需要现学了,那尽量不要去学一个马上就要被淘汰的技术。

    如果项目是有可能需要跨平台的话,尽量考虑 Web + electron 。

    qt 的话,尽量不推荐了。这个年代投资在 c++和 qt 上的技术,看不到未来有多大的回报。
    winform 是一个非常老的技术了,wpf 也是。如果选择用.Net Framework 来写 winform 或者 wpf 的话,你要考虑清楚.Net Framework 已经过时淘汰了。现在使用的.Net 版本是.Net Core(从 1.0 迭代到现在的 3.1),开源并且可以跨平台,甚至 webassembly 。下个月 Build 大会.Net 5.0 就要开启预览版了(现在处在 preview-3)。.Net 5.0 是.Net Core 的下一个版本,也是.Net 的未来,所以去掉了 Core 这个名字,也跳过了本属于.Net Framework 的 4.x 的版本号,直接统一使用 5.0 的版本号。5.0 之后,所有的.Net 项目都会是同一个 SDK 和同一个 Runtime,代表着基本上学一套知识,能用来写任何( web,mobile,desktop,IoT,ML,micro service,gaming )种类的项目。

    winform 和 wpf 也可以用.Net Core 来写,但是 winform 和 wpf 都是 win32 的框架,编译出来的程序,在未来的 Windows 10X 上面注定是在容器内运行的非原生应用。并且 winform 和 wpf 的 UI 全都不是硬件加速的,而且没有触摸优化,没有黑白模式的自动模板。

    很多人这个时候就要开始推荐 UWP 了,用 C#和 XAML,是 Windows 10 和其分支里面唯一的原生应用模式 /框架。但是 UWP 也是只是适合个别应用的,虽然我也会极力推荐 UWP,但是绝不是不考虑适合程度的盲目推荐。

    那到底还有什么选项呢?
    其实 Windows 10 是有自己的原生 UI 库的,叫 WinUI,完全按照 Fluent Design System 的规范用 C++编写,UI 硬件加速。以前版本是集成在系统内的,仅供 UWP 使用。现在的 3.0 之前的版本,虽然也是仅供 UWP 使用,但是可以打包在应用层,以免不同版本的系统不兼容有的控件。在几天后的 Build 大会,3.0 会正式进入测试阶段,到时候任何应用都可以使用 WinUI 来编写 UI,逻辑层用什么语言 /框架都可以。所以,不着急的话,稍微等一等.Net 5.0 + WinUI 3.0 。 这两个放在一起会是一个非常强大的组合。现代化的语言,工具和 UI,至少让你可以放心的做技术投资。
    kwklover
    kwklover
    Apr 30, 2020 via Android
    83
    如果是自己想做个作品,那就什么容易上手就用那个吧,我现在用 winform,以后会考虑 WPF,一种技术可能不代表未来,但要淘汰也不是三五年内的事情了,考虑太多酒多虑了。你看看 asp 就知道了,上古时代的技术,淘汰十几年了还有人用呢。
    mopian
    mopian
    Apr 30, 2020
    84
    跨平台:要性能用 Qt,要简单用 electron
    纯 Windows:Qt or WPF
    baobao1270
    baobao1270
    Apr 30, 2020
    85
    跨平台:不在乎性能 electron,在乎性能 Qt
    纯 Windows:简单点 C#+WPF ;复杂点 duilib ;随便玩玩 UWP
    sunbreak
    sunbreak
    May 1, 2020
    86
    要求不高的项目,可以考虑 Flutter

    36 记智能手写本( Android/iOS/Web/Windows/macOS )
    https://www.36notes.com/html/download/windows.html


    我们用 Agora 做教学场景的远程白板,就包装了下开源出来了

    Agora RTM
    https://github.com/woodemi/Flutter-RTM-Desktop

    Agora RTC
    https://github.com/woodemi/Flutter-SDK-Desktop
    sunbreak
    sunbreak
    May 1, 2020
    87
    另外建议先评估下是否需要开发客户端,现在大部分情况下 Web 足够用了。

    要么特别复杂,要么场景独特(比如频繁唤起,后台常驻),要么有硬件交互( 36 记智能手写本)
    其他情况能用 Web 就用 Web 吧,优势比 Native 多太多了
    AloneGhost
    AloneGhost
    May 1, 2020
    88
    一般用的 python 写的,界面就用 PyQt5 这个库
    admirez
    admirez
    May 1, 2020
    89
    我一直用 delphi,简单,快速
    Trinity888
    Trinity888
    OP
    May 2, 2020
    90
    @all 感谢大家给我提了这么多建议,我会考虑
    Trinity888
    Trinity888
    OP
    May 2, 2020
    91
    @所有人 感谢大家给我提了这么多建议,我会考虑
    secondwtq
    secondwtq
    May 2, 2020 via iPhone
    92
    说起 Delphi,我前段时间买了 Beyond Compare,然后好奇看了下这东西的依赖。发现 BC 是用 Pascal 写的,GUI 库应该是 FreePascal 的 Lazarus 提供的 LCL,BC Linux 版的 LCL 底层是 Qt 。

    看起来还挺像样的,玩 Delphi 的有人接盘了……
    lsj8924
    lsj8924
    May 2, 2020
    93
    听我的,MFC 很好用。
    sunbreak
    sunbreak
    May 18, 2020
    94
    所以楼主最后选了什么?
    Trinity888
    Trinity888
    OP
    Jun 3, 2020
    95
    @sunbreak 目前在需求阶段,待确认后再定。目前也是倾向使用 web 方式,但要看客户方的设备是否能支持。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5438 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 195ms · UTC 03:16 · PVG 11:16 · LAX 19:16 · JFK 22:16
    ♥ Do have faith in what you're doing.