开发 windows 桌面软件,现在主流用什么技术?

桌面软件还是得win32,工具只有两个选择vc和delphi,不建议用.net,存在部署问题.

还有大佬说

桌面还是老老实实C#吧,看需求选择WPF或者Winforms
或者干脆激进一点,直接上win10的UAP?

另外我每天默念100遍,拿Web应付Windows的软件都去死吧,死干净点。这是作为用户的想法。拿web应付的多数吃内存是native app的几倍甚至几十倍,对高dpi支持和新技术支持也差,再加上写出来的烂js跑的也卡,体验简直差到爆。
想做就认真做,不想做就别做。

还有大佬推荐qt

pyqt有商业授权可以买,也可以考虑用pyside,支持LGPL授权的python Qt binding.用法和pyqt差不多.还有pygtk,wxpython可以考虑。

还有大佬针对.net部署说明了一下

  1. 部署的话把运行环境打包就行,开启也只是一句话
  2. Slack for Windows用的atom-shell。企业软件的话不在意大小和性能,开发速度才是最主要的。
  3. 所有Slack的Windows版烂到爆了。。
  4. C#开发时把.NET平台改成2.0,只要不用高级的东西大部分都能跑,xp那边应该已经有.NET2.0,没有的话打包程序时封装一个就好了
  5. C# .Net Qt 不都是很亲切的 Windows GUI 开发方式么
  6. 安装包需要额外加几十M的环境,说明你没做过面向普通用户的桌面软件。

还有大佬发了长回复

现在很多桌面软件都是客户端软件,一半功能都是在服务器上提供接口,云 + 端的模式,客户端很多时候都是一个简单的壳子。所以掌握服务端语言是很有必要的,python,nodejs 都不错,php当然也可以,至于C#还是算了吧。

真正想去学点桌面方向的,最值得去学的还是C语言,其次是C++。原因很明显,C语言最简单,投入的学习成本最少,是各种语言的基石,C/C++玩的好,无论你用什么语言有帮助,桌面上好一点的软件基本都是C,C++写的。

aauto对C,C++的支持也很好,范例里就有很多调用C/C++开源组件的例子。aauto 的优势是小轻快,不需要投入太多精力去学,有编程基础上手很快,开发工具加标准库全部范例才6.5MB. 而且动态语言用起来也灵活简便,写界面,写EXE很方便。

但是 delphi,vb,C#这些工具相对比较重,学习要投入大量的精力,C#的库非常多,但也需要惊人的记忆力,有个半年不玩就可能会忘的干干净净没留下多少属于自己的东西。C# 不错但是优势更多是在服务端或者企业应用,写小桌面软件会把简单的事搞复杂,写桌面软件不是C#的长项。

delphi,vb这些过气了除了维护老项目不值得去学,即使这些语言的全盛时期也有一定的吵作吹捧,谁用谁知道经不起时间的考验。已经证明是坑的,不要再往坑里钻。

道听途说终究是虚的,有时候很多人说好用的东西,最后你钻进去会发现一个又一个的坑,很多人乱骂的东西实际上用起来会很爽,网上的评价很多随口爆出不负责任,而且每个人的思维模式开发习惯各有不同,适合的工具也不同,所以别人的观点只能作为参考,最实际的:自己一个一个的去用一下,感受一下,用的爽的就是适合你的。

还有大佬总结了使用.net的优势

企业桌面应用,妥妥的的.Net 啊,如果机器很旧很旧,就用 WinForm,否则就 WPF。
.Net 的弱点是要先部署.Net Framework,性能不高,但这些问题对于企业应用都不是问题,要知道,企业应用,最大的问题是系统跟不上业务变化,最重要是开发快,尽量少些不必要的 Bug。
而.Net 刚好适用,第一,.Net 有宇宙第一 IDE,开发方便快捷,而且现在开源生态也还不错,很多轮子都有了;第二,用域部署.Net 简直不要太方便,没有域用 ClickOne 也极其简单。

原文链接:,转发请注明来源落伍老站长!

发表评论