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

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

  •  3
     
  •   Trinity888 · 75 天前 · 7098 次点击
    这是一个创建于 75 天前的主题,其中的信息可能已经有所发展或是发生改变。
    95 条回复    2020-06-03 16:10:17 +08:00
    littleshy
        1
    littleshy   75 天前   ❤️ 5
    只关心 Windows 平台的话,C#啊,WPF 爽到飞起。
    Fx8m
        2
    Fx8m   75 天前   ❤️ 2
    C#
    ligiggy
        3
    ligiggy   75 天前 via iPhone   ❤️ 2
    winform wpf mfc
    liangzimo
        4
    liangzimo   75 天前
    WPF 啊,直接起飞
    Trinity888
        5
    Trinity888   75 天前
    @littleshy 哦,是不是 Qt 也可以呀? WPF 、C# 不擅长,你对 WPF 熟悉?
    Trinity888
        6
    Trinity888   75 天前
    @ligiggy wpf 能支持 Linux 吗?
    littleshy
        7
    littleshy   75 天前   ❤️ 2
    @Trinity888 #5 做过一段时间 WPF,开发体验非常爽。
    wpf 不能跨平台,如果有跨平台需要,还是 Qt 吧。
    如果只是 Windows 平台,那 WPF 肯定是最佳选择。
    Ackvincent
        8
    Ackvincent   75 天前
    界面直接上 QT 简单快速
    thfurior
        9
    thfurior   75 天前   ❤️ 2
    C#,效率贼高
    onecode
        10
    onecode   75 天前   ❤️ 2
    如果只是 Windows,那肯定 wpf,想都不要想
    None123
        11
    None123   75 天前
    跨平台 用 electron
    ligiggy
        12
    ligiggy   75 天前
    @Trinity888 不支持。现在 C#还是只能用.Net FrameWork 在 VS 上做界面。之前有.Net Core 的 NanUI,不知道现在咋样了。
    ragnaroks
        13
    ragnaroks   75 天前   ❤️ 2
    唯一不二选择 WPF,别的都是二的选择


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

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

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

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

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

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

    如果项目是有可能需要跨平台的话,尽量考虑 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
        83
    kwklover   74 天前 via Android
    如果是自己想做个作品,那就什么容易上手就用那个吧,我现在用 winform,以后会考虑 WPF,一种技术可能不代表未来,但要淘汰也不是三五年内的事情了,考虑太多酒多虑了。你看看 asp 就知道了,上古时代的技术,淘汰十几年了还有人用呢。
    mopian
        84
    mopian   74 天前
    跨平台:要性能用 Qt,要简单用 electron
    纯 Windows:Qt or WPF
    baobao1270
        85
    baobao1270   74 天前
    跨平台:不在乎性能 electron,在乎性能 Qt
    纯 Windows:简单点 C#+WPF ;复杂点 duilib ;随便玩玩 UWP
    sunbreak
        86
    sunbreak   73 天前
    要求不高的项目,可以考虑 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
        87
    sunbreak   73 天前
    另外建议先评估下是否需要开发客户端,现在大部分情况下 Web 足够用了。

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

    看起来还挺像样的,玩 Delphi 的有人接盘了……
    lsj8924
        93
    lsj8924   71 天前
    听我的,MFC 很好用。
    sunbreak
        94
    sunbreak   56 天前
    所以楼主最后选了什么?
    Trinity888
        95
    Trinity888   40 天前
    @sunbreak 目前在需求阶段,待确认后再定。目前也是倾向使用 web 方式,但要看客户方的设备是否能支持。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3160 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 12:09 · PVG 20:09 · LAX 05:09 · JFK 08:09
    ♥ Do have faith in what you're doing.