那些 windows 桌面应用是用什么语言、框架开发的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
uniy
V2EX    程序员

那些 windows 桌面应用是用什么语言、框架开发的?

  •  
  •   uniy 2021-0-31 14:42:23 +08:00 8187 次点击
    这是一个创建于 1506 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如常见的 QQ 、微信、360 、百度网盘、还有抖音的直播伴侣

    55 条回复    2021-09-06 11:28:24 +08:00
    zhuangzhuang1988
        1
    zhuangzhuang1988  
       2021-08-31 14:47:08 +08:00
    directui
    BrettD
        2
    BrettD  
       2021-08-31 15:09:11 +08:00 via iPhone   1
    WinForms 、WPF
    AX5N
        3
    AX5N  
       2021-08-31 15:14:16 +08:00
    qq 应该是 tx 自己的框架,迭代了很多年了,百度网盘是 electron 。其他的没装
    AX5N
        4
    AX5N  
       2021-08-31 15:15:04 +08:00
    @AX5N qq 是 c++
    passerbytiny
        5
    passerbytiny  
       2021-08-31 15:16:13 +08:00 via Android
    我只知道 win32 应用的开发语言和框架很多,剩下的不清楚。当然 win32 应用的主流编程语言还是 C ++和.NET 系。
    xuanbg
        6
    xuanbg  
       2021-08-31 15:16:45 +08:00
    QT,WinForm 、WPF
    uniy
        7
    uniy  
    OP
       2021-08-31 15:33:01 +08:00
    @zhuangzhuang1988 好家伙,这个还收费呢
    uniy
        8
    uniy  
    OP
       2021-08-31 15:34:14 +08:00
    @passerbytiny win32 是基础,做不出这么美观的应用,应该还是使用了别的框架
    congyua
        9
    congyua  
       2021-08-31 15:51:49 +08:00
    工具: visual studio
    框架: WPF
    mrcn
        10
    mrcn  
       2021-08-31 15:54:08 +08:00
    以前是界面基本上是在 Win32 的基础上自绘。现在 80%是 electron 。
    zhuangzhuang1988
        12
    zhuangzhuang1988  
       2021-08-31 15:58:07 +08:00
    @uniy 免费的应该叫 duilib.
    kennhuang
        13
    kennhuang  
       2021-08-31 16:25:18 +08:00 via iPhone
    新手的话确定不试试 Electron
    ysc3839
        14
    ysc3839  
       2021-08-31 16:33:25 +08:00
    QQ 是腾讯自研的引擎,微信是 duilib,其余的我不知道。有的可能是用 Qt,有的可能是 WebView 系列。
    xdeng
        15
    xdeng  
       2021-08-31 16:43:31 +08:00
    免费的 duilib 也不错的。
    uniy
        16
    uniy  
    OP
       2021-08-31 17:01:32 +08:00
    看了一下,duilib 好像年久失修了,目前不怎么活跃了
    uniy
        17
    uniy  
    OP
       2021-08-31 17:03:22 +08:00
    看样子 electron 的应用还是比较广,但是性能相对弱一些,不知道调用 dll 动态库,方不方便
    idealhs
        18
    idealhs  
       2021-08-31 17:23:02 +08:00
    个人写的小东西用 electron 没关系,大厂用这个真的去死吧
    THESDZ
        19
    THESDZ  
       2021-08-31 17:33:09 +08:00   3
    @idealhs #18 vscode:那我走?
    Mav
        20
    Mav  
       2021-08-31 18:06:05 +08:00   2
    微信 Windows 版卡成屎,掉帧非常厉害。
    darknoll
        21
    darknoll  
       2021-08-31 18:08:24 +08:00
    怎么没人说 cef ?
    wxw752
        22
    wxw752  
       2021-08-31 18:13:43 +08:00
    WPF
    Remode
        23
    Remode  
       2021-08-31 18:38:31 +08:00
    C++(QT), C#
    mmdsun
        24
    mmdsun  
       2021-08-31 19:10:37 +08:00 via Android
    之前研究 QQ 发现用到了 visual studio,没记错的话是 wpf 。微信和 QQ 有商店版本,是 UWP 开发的。

    微软官网介绍的 Windows 应用开发技术:
    有 WinUI 3,UWP,WPF,WinForm,Native win32,还有 Windows React Naive 。

    https://developer.microsoft.com/zh-cn/windows/get-started-windows-10/
    mmdsun
        25
    mmdsun  
       2021-08-31 19:16:12 +08:00 via Android
    @uniy Electron 调 dll 很麻烦。

    如果用微软的框架就方便很多,比如 C sharp 调 dll 只要

    [DllImport("demo.dll")]
    public static extern bool OpenDemo();
    shunqwang
        26
    shunqwang  
       2021-08-31 19:42:21 +08:00
    node+react+electron
    yolee599
        27
    yolee599  
       2021-08-31 20:09:06 +08:00 via Android
    MFC,QT,wxWidgets,WPF,WinForm,swing,javafx,VB .Net ,LabVIEW,Unity3D,Delphi,打死也不用 Electron
    ajaxfunction
        28
    ajaxfunction  
       2021-08-31 23:23:03 +08:00
    我知道 钉钉就是一个壳子套网页。
    inframe
        29
    inframe  
       2021-08-31 23:31:41 +08:00
    简单小工具 C# WinForm 一把梭哈
    wakarimasen
        30
    wakarimasen  
       2021-09-01 00:42:18 +08:00 via Android   2
    常见的 Windows 桌面技术栈,微软的 MFC,WinForms,WPF,UWP,MAUI (预览);其他的 duilib,Qt,Electron,cef,sciter,Delphi ;更非主流的 Java ( JetBrains 全家桶) Python ( Sublime Text ) Flutter Desktop 等等。
    dingwen07
        31
    dingwen07  
       2021-09-01 00:56:03 +08:00
    @THESDZ #19 你要有微软的软件实力那 Electron 确实能优化的很好,问题是绝大多数公司都没那个实力,用 Election 写出来的软件体验就不好,比如最近那个 1Password 8
    enki0423
        32
    enki0423  
       2021-09-01 01:54:21 +08:00 via iPhone
    @uniy 美观跟这个没关系,客户端 ui 主要靠 ux 设计,程序员只是切图。现在应该还有一批应用使用的是 duilib,比如微信,有些是 qt,比如 wps,还有些是 flutter,electron,以及 wpf 和 winform
    vxthon
        33
    vxthon  
       2021-09-01 08:39:59 +08:00
    公司使用的是 QT,相比移动端,确实没有找到很好的框架库。
    n0th1ng
        34
    n0th1ng  
       2021-09-01 08:45:59 +08:00
    滴滴清单: WPF (.NET Framework 4.5)
    mPatrickStar
        35
    mPatrickStar  
       2021-09-01 09:25:51 +08:00
    @zhuangzhuang1988 可是姓庄?
    vicnicLight007
        36
    vicnicLight007  
       2021-09-01 10:02:51 +08:00
    pyqt
    justfun
        37
    justfun  
       2021-09-01 11:12:07 +08:00 via iPhone   1
    @idealhs #18 据我所知目前 notion 、语雀、teambition 、trello 、我来等全都使用 electron 开发,而且内存占用极高( 3-500m )。由于我一直开着 chrome,就把他们封装成 chrome 的 pwa 应用了。这样一来 一个标签只需要占用几十 M 的内存。大厂使用 electron 确实太没诚意了 体验很不佳
    FieldFarmer
        38
    FieldFarmer  
       2021-09-01 12:30:14 +08:00 via Android
    蹲一个大佬帮忙分析下.bpl 文件是哪种语言和编译器的产物,如何反编译?网上大概找到是 Borland delphi 的语言,找不到怎么反编译的工具
    Macv1994
        39
    Macv1994  
       2021-09-01 14:22:57 +08:00
    我们都用的 Qt
    tr1stan
        40
    tr1stan  
       2021-09-02 04:51:20 +08:00
    @justfun 请问怎么自己把这些应用封装成 pwa 呀?我也想这样用
    justfun
        41
    justfun  
       2021-09-02 10:39:06 +08:00
    @tr1stan 也不算是封装吧 是 chrome 自己提供的功能。具体操作如下:
    1.把你要制作的网页添加到书签栏
    2.打开 chrome://apps/ 将书签拖进来
    3.右键应用图标,勾选「窗口中打开」「创建快捷方式」

    ps.这时候生成的图标由于是抓取的网页 icon,所以很模糊。Windows 下替换图标不用我说了。
    mac 下替换图标 打开 /Users/「你的用户名」/Applications/Chrome\ Apps.localized,找到应用->显示包内容->Contents->Resources->app.icns 替换这个就行,icns 是苹果特有的格式制作很麻烦,你可以直接从原 electron 应用的包里找到官方图标替换,pps 这时候 lanuchpad 里的图标还是很很模糊怎么办?只需将 chrome 生成的 xxx.app 拖到 application 目录就可以了。
    LoNeFong
        42
    LoNeFong  
       2021-09-02 10:41:14 +08:00
    易语言(ε=ε=ε=┏(ロ;)┛
    justfun
        43
    justfun  
       2021-09-02 10:43:02 +08:00
    @justfun 然后你就得到了一个和官方 electron 应用几乎一模一样的应用,而他的占用空间只有几百 kb 、占用内存仅为几十 mb 。当然这只针对 teambition 、语雀、notion 、trello 这种简单将网页打包成 electron 的应用。
    uniy
        44
    uniy  
    OP
       2021-09-02 14:06:11 +08:00
    @vxthon
    @Macv1994 听说 qt 的包都挺大
    uniy
        45
    uniy  
    OP
       2021-09-02 14:09:49 +08:00
    @mmdsun 比较看好 WinUI3,但是只能支持 win10 以上版本,市面上 win7 win8 的系统还是太多了
    uniy
        46
    uniy  
    OP
       2021-09-02 14:14:34 +08:00
    @justfun 确实,electron 的性能远不及原生,mac 下使用 vs 能感觉出来,就像是在网页里搞开发.
    darkengine
        47
    darkengine  
       2021-09-02 15:16:06 +08:00
    @uniy mac 下 VSCode 比 JetBrains 全家桶好多了
    mmdsun
        48
    mmdsun  
       2021-09-02 18:42:20 +08:00 via Android
    @uniy WinUI 在 Win7 运行的方案也有。比如,

    https://platform.uno/
    seakingii
        49
    seakingii  
       2021-09-02 21:40:41 +08:00
    什么时候 Flutter 能好好的开发 windows 程序....?
    ragnaroks
        50
    ragnaroks  
       2021-09-02 23:07:44 +08:00
    现在也有本地后端加网页前端的形式。
    下载的安装包会装个服务到系统里面,然后快捷方式就是打开一个类似 app.company.com 的前端 UI,两者通过 http 或 websocket 交互。
    由于不涉及本地界面绘制,因此开发难度低,好招人,缺点就是(大多数)不能离线使用。

    小工具类应用,极大多数是 WPF 和 QT,少部分 MFC/WinForm/Delphi
    ragnaroks
        51
    ragnaroks  
       2021-09-02 23:09:35 +08:00
    忘了说,上面那种方式往往还有个极小的无依赖的可执行文件,作用就是打开前端 UI 的地址而已,毕竟很多用户需要“快捷方式”这样的东西
    kerro1990
        52
    kerro1990  
       2021-09-03 10:04:00 +08:00
    electron
    TSai2019
        53
    TSai2019  
       2021-09-03 10:25:08 +08:00 via Android
    不考虑跨平台,首选 wpf,winform,有 c#加持,开发效率高,winui3 现在还是个半成品,坑太多
    lizhenda
        54
    lizhenda  
       2021-09-03 10:52:49 +08:00
    Electron 一把梭,国内公司转 Electron 的越来越多了,迅雷、飞书都是 Electron 开发的,体验还可以啦
    n0th1ng
        55
    n0th1ng  
       2021-09-06 11:28:24 +08:00
    @n0th1ng 是滴答清单 WPF (.NET Framework 4.5)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1061 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 18:12 PVG 02:12 LAX 11:12 JFK 14:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86