如何开发一个windows软件,需要用哪些语言?

如何开发一个windows软件,需要用哪些语言?,第1张

Windows软件开发,不仅有C/C++、还有Java、C#,甚至JavaScript也加入了桌面应用开发的阵营......

C++方向

作为一名主业为C++的开发工程师,当然是首推C++了,用它来写Windows软件,还是很香的,这里重点推荐两个界面库。

Qt

这个也是C++界面开发首推的UI库,是一套跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。文档齐全,API设计优雅,原生态跨平台支持,在国产化盛行的今天,相信Qt的市场也会越来越广阔。Qt新版本提供的QSS可以让你像Web当中CSS那样优雅的写界面布局代码。

下图是使用Qt内置的QSS绘制的一个界面换肤效果图,还是很绚丽的(PS:作品来源于CSDN,博主:一去丶二三里,如有侵权,请随时联系)。

MFC

虽然业界流传MFC=没饭吃、MFC要淘汰了......但是这么多年过去了,这玩意还是没有淘汰,只能说是落幕了,需求越来越少(然鹅,并没有绝迹)。

如果题主的需求是做一些自用的小工具,如果界面要求不是很高的话,那么选用基于MFC的Dialog对话框模式还是很方便的。无论是自用或者是他用,简单的将静态编译完成的exe发送给其他人就可使用,不用过多的依赖库。

温馨提示:

如果是选择就业方向的话,不建议选择MFC。

C#方向

微软主推的编程语言,与宇宙第一IDEVisualStudio配合的天衣无缝,通过简单的拖拽即可完成界面元素的布局。仿Java而生,目的就是取代Java,然而其结果是显而易见的,PC端程序开发已经落幕,在Web端,C#似乎跟Java不在一个重量级上。

考虑到微软的技术更新换代实在太快了,比如WinForm和WPF被全面移植到.NETCore。在这5G时代、人工智能、大数据各种浪潮的年代,实在没有必要再去追逐微软了。

JavaScript方向

考虑到题主的语言技术栈,主要偏向Web方向,开发Windows软件的话,隆重推荐下Electron。可以让你使用纯JavaScript调用丰富的原生( *** 作系统)APIs来创造桌面应用,大名鼎鼎的VSCode、Atom就是使用该开源库来完成的。让人们感觉JS真的有一统天下的趋势(Web、移动端、PC客户端)。

至于Java、PyQt之流,这里就不再推荐了。毕竟Python的设计初衷就不是让你来写Windows客户端开发的,而Java,重心也早已转移到Web端和移动端了,JavaSE开发的客户端程序已经很少见了。

对于编程,没有最好的语言,只有最合适的语言。下面谈谈常见的PC桌面端开发语言。

C/C++系列

C++系列最大的优点就是运行效率高,不过缺点也是很麻烦的,上手难度大。下面介绍介绍两种有官方背书的,开发过程中经常用到的C++界面库,至于Duilib、BCG等第三方开源库这里不再介绍。

1、Qt

C++开发界面首选开源库。在C++领域,有GUI的地方都有Qt,有嵌入式的地方一般也有它,金融、工业、电力、视频监控等行业也有它。集跨平台支持,文档齐全,API设计优雅诸多优点于一身。

它不仅仅是一套界面库,更封装了多线程、访问数据库、图像处理、音频视频处理、网络通信、文件 *** 作等接口。

常见的多玩的YY,金山的WPS,以及网络抓包神器Wireshark等都是使用Qt开发而成,下面附一张使用QSS实现的界面换肤效果图。

Qt

2、MFC

俗话说,MFC==没饭吃,虽然现在2020年都已经过完了,但是还是有大量的公司在使用MFC这一上古技术来开发界面,它并没有灭绝。不过大多数项目处于维护态了。新项目我想很少有公司会采用MFC来开发了。

MFC

如果你是在校学生,不建议深究MFC相关技术,了解其大致思想即可。

如果你已经参加工作,不幸处于维护MFC老项目之中,那么建议工作之余多学习其他技术,早日跳槽脱坑。

C#

简单易上手,想要开发效率,C#绝对是Windows界面开发的王者,背靠微软这一强大后盾,为开发者提供所见即所得的开发模式,即使是新手也可以通过简单的拖拽来开发出带有图形界面的可视化软件,不仅可以开发PC客户端,更能开发Web端。最大的缺点是要安装framework组件。

C#

JS系列

曾梦想一统天下(Web、移动端、PC端)的JS,推出了Electron,为开发者提供PC客户端开发,更有VSCode、Atom、FacebookMessenger这样的成熟案例。不过最大的缺点就是开发出来的东西体积太大了,运行效率偏低。

Electron

Python

没错,就是那个曾经火遍大江南北的Python,它不仅可以写爬虫,更能来开发界面。

借助于PyQT,你也可以快速完成图形化界面开发工作。下图是某大神高仿的网易云音乐的开源项目「FeelUOwn」,使用PyQT开发而成,号称是一个符合Unix哲学的跨平台的音乐播放器。目前该作品已在Github上开源。

FeelUOwn

以上就是我的观点,喜欢就【点个赞】吧!

windows平台下c#是开发桌面应用程序的很好选择

C#语言可以轻松实现桌面程序的开发,利用vs开发工具,拖动控件就可以很快的完成一个软件界面,但然要做到好看,炫酷,还需要借助其他的界面库,或者自己重绘控件。

C#的功能全面,可以轻松调用office组件,windows组件,windowsapi函数,各类数据库连接调用。

C#可以很方便的调用工控设备,如plc,可以轻松 *** 作plc,读取,写入数据等。

c#可以开发windows等其他多平台游戏,使用unity3d,开发机器视觉使用emgu.cvopencv等。

基本上windows平台上的软件都可以制作。

但是c#能做的c++都可以做,不过c++的难度较大,不适合新手。

C#开发Windows系统桌面首选。

跨平台C++很著名的库Qt。

不过现在有了node.js这种脱离浏览器基于chrome的V8引擎的技术,现在可以HTML+CSS+JavaScript开发跨平台的桌面运用,配合前端双向绑定的vue,react,angular等快速开发,高效率,炫丽,框架electron或者nw.js。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11888111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存