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

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

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

    比如常见的 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 一把梭哈
    angrylid
        30
    angrylid  
       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   ·   我们的愿景   ·   实用小工具   ·   4196 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:15 · PVG 18:15 · LAX 03:15 · JFK 06:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.