windows桌面程序用什么语言开发
推荐用微软的VC,里面有MFC、WTL,如果要做像360好看的,就用DUI。不过都是C++语言
开发独立EXE桌面应用程序,用什么语言、技术合适?
您的要求可能看起来很低,但实现起来并不容易。 首先,Windows 本身甚至没有 C++ 运行时库,或者 msvcrt 不是 Windows 的一部分。 每个版本的windows可能都自带了msvcrt的一部分,但是xp vista win8 win10 win11自带了不同版本的msvcrt,也就是说,一旦依赖了msvcrt库,就不能保证在所有版本的windows上都能正常工作。换句话说,为了实现您的目标,您至少必须有一种静态链接基本 C/C++ 库的方法。
为了解决这个问题,通常需要检查数据并更改参数。 比如这篇文章就是完整的数据。 甚至,说不定有人把这样的方法直接做成了工具。 但是你问“没有额外的第三方工具,没有代码和步骤”,那么好吧,这条路又被你挡住了。 至于高级语言,其实很多高级语言都是用C/C++开发或者执行的,所以Windows下的实际执行也依赖于msvcrt。 需要排除类似的语言方案。 因为,要想完全实现主体的思想,就必须摆脱msvcrt的依赖。 但是如果你想摆脱 msvcrt 依赖,要么需要一定的代码和步骤,要么需要第三方工具。 你不能同时使用两者,所以你不能这样做。
然后,你说程序大小要足够小,不允许有库依赖,所以简单的结论是:你根本不能做稍微复杂一点的程序,连浏览器框架都做不了,毕竟一个 WebView 是静态链接进去的,体积不会太小。 所有第三方代码都必须开源编译并静态链接进去。如果一个程序很小,不可能完成一个足够复杂的任务。 除非你调用了动态链接库,但是你需要所有的静态链接,那么像你这样的程序根本做不了什么,何必麻烦大家给你找方法。 或者您只是来推广您开发的软件? 我相信如果把它们都集成到某个软件中,你说的事情确实可以做到,但是,你不认为你把所有依赖库的这种纯静态链接功能集成到你要推广的软件中吗, 不是第三方工具? 如果你能这么偷偷改变概念,确实可以实现。
桌面应用程序 Exe 带有 WinForm 界面。第一个推荐是C#毕竟,它是微软自己的。 编写Winform在开发效率和性能上都比其他开发语言快,相关资源和文章也很多。 C#非常适合开发Winform,功能非常强大。 好的结果。 缺点是需要.netframework支持Windows 10、Win11自带.NET Framework。 如果不考虑跨平台,C#开发是最方便高效的。如果想让界面效果更炫,那就用WPF让Winform在界面美化上更上一层楼。 但它会慢一点。
如果对性能要求高或者操作系统底层使用C++或者直接C C++或者MFC,性能很好,但是开发难度比c#高。 如果直接用C,就比较难了。 优点是运行速度快,兼容性好。 除了汇编 C 和 C++ 应该是最快的。QT Qt是一个基于C++的跨平台图形用户界面应用框架。 与MFC相比,它是一种时尚的图形界面设计和开发工具,相对于MFC有很多优点。 丰富的API功能提高了用户的实际开发效率。 支持OpenGL2D、3D图形渲染。 支持QML脚本开发。 使用 QML 的缺点,开发效率被利用了:在运行环境中,Qt 需要将整个东西打包。 体积相当大。 C# 要小得多,因为许多依赖库都带有 windows。
Java Java可以做任何事情。 如果熟悉Java,可以使用Java进行开发,但运行时需要安装运行环境。 Java的生态资源非常丰富,教程也很多。如果你习惯Python,可以使用PyQt PyQt。 开发python也很容易。 可以使用qt for python+qwebview+pyinstaller打包单个exe,启动慢。 或者制作一个安装包,使用 fbs 或 pynsist 缺点:生成后包会稍大,第一次执行速度会有点感人。
热爱 Rust 并使用 Rust 语言Windows T 也可以用 Rust 语言开发。Electron 跨平台,界面美观Electron 是一个跨平台的桌面应用开发框架,让我们可以使用 html css js 的技术来开发可以安装在跨平台桌面的软件。 Electron 允许前端开发人员做更多的工作。 网上流行一句话:“别跟我说C++、Java,我靠JS走遍天下,需要的时候才去做。很容易上手能够使用react、vue等前端框架,可以轻松迁移前端组件,构建漂亮的桌面应用。
专门开发接口的早期开发语言还有其他早期开发语言。 如果要写native native exe,也可以使用以下语言的Delphi:Delphi 7,非常不错。 现在 Free Pascal 对于跨平台开发来说还不错。 VB6:从未消亡的开发语言,也有大量开发小工具的爱好者。 还是一个非常快的VFP:Visual Foxpro,但不是微软自己的,现在没有开发PB:PowerBuilder C++ builder 6.0:Borland的C++程序开发集成平台MASM:Macro assembler。 更加困难。 接近机器语言。优点是运行速度快,比c#快,生成的exe小,不易被破解。
其他开发语言Flex(flash script + java),easy language(中文编码),单独的EXE桌面软件也可以试试aardio,还不错。如果只针对Windows平台,建议使用c#或VB6。 如果想要更好的界面,可以使用浏览器调用html js 界面库或者WPF。 如果考虑跨平台。 ,上面有很多选项。 主要是根据你的实际需求,再考虑性能、部署等方面。
做windows界面,用QT还是MFC?
使用Qt吧,前提是在这两者下进行选择。既然提到了Qt和MFC,我想题主肯定是一个C++的开发者。其实,在我看来,Windows下开发界面程序,还有很多其他的选择。下面我就连同Qt、MFC一起来介绍一下几种常用的界面开发框架。
其实选什么学习还得根据自身的需求。语言不分好坏在于人。精通才是正道。当下window下流行的编程语言,有vb,mfc,c sharp,。如果没啥限制,建议第三个吧,简单粗暴上手快,开发效率也高。如果公司或硬件限制必须用mfc或其他语言,那学就是。都是微软的产品,我开发项目都用过,知识通用。至于qt封装是全,相对微软自家的产品,用的人少些。问题多靠自己解决
具体选择QT还是MFC,这要根据题主的需求来决定。如果你入职一家公司,做的是老项目的维护,而原有项目是采用MFC来开发,那么当然,你没得选,只能老老实实的继续MFC,虽然这玩意写起来真的很虐心。如果是一个全新的项目,那么还是首选Qt。
下面根据自己的认识,推荐几款Windows下开发界面开发常用技术。
1)Qt
号称可以跨平台,语法结构简单清晰。面向对象的特性体现的比MFC明显。代码写起来比较优雅,也就是说上手会快一点,最新版本支持的特性QML,可以让我们用JS,CSS来绘制客户端界面,写起来效率也是蛮高的。缺点就是文档可能没有MFC那么齐全,基本只有官方的官网和Demo,而且发布包体积会比较大。
2)MFC
全称Microsoft Foundation Classes(微软基础类库),可以算的上是上古产品了吧,目前除了维护老项目,应该很少有团队使用MFC来开发了吧。基本上MFC == “没饭吃”。建议如果你是初学者,界面开发还是不要选择MFC了。它唯一的好处就是微软的MSDN文档比较齐全,相关论坛和那种问答的资源要多很多,一般初学者遇到的问题都可以看到前辈们的解决方法。不过目前它已经被其亲爹微软抛弃了。
3)Duilib
目前已开源,是一款强大的界面开发工具,可以将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。唯一不足的是原开发者已经停止维护,很多都是个人在维护,出了问题的话,只能自己去摸索,Debug。下面是一款个人使用Duilib开发的迅雷播放器界面效果。
最后附上一些基于Duilib开发的软件不完全列表(欢迎大家补充指正):
百度: PPS 爱奇艺 百度杀毒 百度卫士 91助手
腾讯: 微信 企业微信
阿里: 钉钉 支付宝安全控件 PP助手
书生云: 书生企业云盘
微软: 微软壁纸
网易: 易信 云音乐 荒野行动PC版
华为: 华为网盘
金山: 金山快盘
京东: 咚咚
cctv: cbox
酷我: 酷我音乐盒
蘑菇街: TeamTalk
火绒: 火绒安全软件
盘古: 盘古越狱工具
顺网: 网维大师 91y
网狐: 网狐经典版
墨迹风云: 墨迹天气
zoomcloud: Zoom 视频会议
搜狗: 搜狗手机助手
沃通: 沃通代码签名工具
驱动人生: 驱动人生 人生日历
维棠: 维棠
深圳市北斗智研 科技 : 智能办公助手 ERP管理系统
4)Electron
这玩意应该是这几年才火起来的吧,宣城自己可以通过使用JavaScript、HTML和CSS构建 跨平台 的桌面应用程序,让人们感觉 JS 真的有一统天下的趋势(Web、移动端、PC客户端)。开发效率真心的高,不过貌似商用上还不是特别的多,典型的成功案例目前知道的有VSCode,Atom。
两者之间二选一的话肯定选Qt了,如果再考虑开发效率与运行效率的话,可以在Python平台上使用Qt的Python绑定库PyQt,再配合C++,主体用Python语言,界面部分用PyQt搭建,核心算法部分用C++封装成动态库DLL文件,在Python里去调用。这样是一个不错的方案,Python部分缩短了开发时间,C++部分保证了运行速度,只是前提是,你要会用C++写DLL,在Python里会调用DLL。
作为做了近2两年windows application的人来说,我直接说Qt!首先我主要做pc和下位机通信的app,如串口、tcpip、总线类等。选qt理由如下:【仅从我的经历来讲】
1、Qt开发效率高。我第一个项目前几个项目用的MFC,平均时长3个月,一个软件80%的时间都放在界面上去了。然后后面开始使用Qt,一个月能做好几个app没压力,界面布局很方便,不用像MFC去一个一个控件拖动。
2、Qt库简单易懂。个人的感觉就是MFC与win api联系太大了,你要玩转MFC,必须要把windowsapi相关知识搞得明明白白的。而Qt库把每一个功能都封装得很好,很容易去使用,不需要没事就百度怎么用。
3、MFC已经在淘汰边缘了。到如今Qt还在不断更新,我目前使用的是Qt5.9。在平时招聘的时候,也很少看到有公司让你专职做MFC,要么Qt,要么C#。
4、Qt跨平台。我当初换Qt的一个原因还是,我以后如果不做windows了可以换linux上位机,Qt可以做到很好的跨平台,而MFC不行。
两者没有好坏之分,需要看应用场景。如果是界面要求不高,稳定性和效率要求高的工业软件,MFC是最好的选择。如果是界面要求美观,跨平台使用,QT是最好的选择。但是要注意的是QT企业用是需要授权费的。另外,windows上的界面还有其他选择wpf,direct ui等。这里着重提一下direct ui,目前可以找到比较好的就是duilib这个界面库,开源稳定易用高效。关注我一起探讨呀!
我们来简单比较一下QT和MFC。
1.开发速度
整体来说可能MFC会快捷一些,因为windows平台的开发工具大多很智能,因为立足于windows的开发人群很广,从菜鸟到专业人士,但是QT由于基于Linux,可用的开发工具不多,大都比较专业,多是第三方产品,而且集成度不大,第三方库也没有MFC得多,从这一点MFC略胜一筹,但是QT自从被Nokia收购后,官方发布了跨平台集成开发环境QTCreator,所以之后走向就不好说了,个人总体感觉QT Creator和VS.net差距比较大,还需改进。
但是从库本身来说QT集成的功能较MFC庞大,而且使用的封装技术信号和槽也是比较受到赞许的,比如QT Script为QT提供嵌入式脚本,QT界面库支持CSS,所以QT做出来的界面比MFC要好,而且比较容易,MFC就需要借助第三方库了。
因为MFC是浅层封装(最新的2008 sp1加入了BCG的高级界面库,可能有所改善)windows SDK,以降低使用windows SDK引起的开发效率的降低,和开发难度的增加。
所以QT库是比MFC优秀的,两个库都经受了时间的考验,稳定性都很高,Bug几乎没有。
2.运行效率
MFC由于其浅层封装的特点,所以运行效率是比较高的,加上vc对windows的针对性优化,整体性能是比较高的,但是如果加入第三方库就不敢保证了。
QT因为库比较庞大,封装层次较深,所以运行效率较MFC为低,但是在现在的机器配置下,C#大家都不介意了,这些会引起人们的介意吗?
3.学习难度
QT的封装哲学比较明晰,和系统隔离得比较好,门槛不高;
MFC较难精通,因为深入开发之后SDK还是要了解的。
必须Qt啊,跨平台,还有鬼知道项目以后要不要跑Linux和嵌入式设备上!界面简单的话,用qml开发,可以直接移植到嵌入式设备上去,还可以把编写逻辑的程序员和界面设计师分离出来!mfc现在微软都放弃更新维护了,mfc开发界面很麻烦的,除非老项目要维护,不然不建议再用mfc做新项目了!Qt的信号与槽很赞,比mfc的回调函数好用多了!
mfc底层太复杂了,但资料多,开源代码多。
qt底层可能好点,但资料和整个开发环境肯定不如vs系列。
微软精力不在mfc上面了,而qt则要在竞争中求存活。
用什么看开发习惯,熟悉哪个用哪个。有困难找我
开发windows桌面程序用什么语言?
C++,直接使用windows API,移植性好,开发速度稍慢一些。C++,使用MFC,开发速度比win api快一点。C#,开发速度最快,效率较低但在PC上不明显。 vb之类的也可以,跟C#的开发速度差不多。开发windows桌面程序用什么语言?
作为程序员,推荐给初学者的5大编程语言
其实,只要不是太小众、太边缘的编程语言,只要精通一门,都可以横行IT互联网,无论就业或创业。
在IT编程这个行业,分前端和后端。
前端易入门、易上手,如果仅是为了就业而学习,那么时间投入产出比,最快的是学前端,而不是后端;
但学会了后端,再去学前端,就非常容易,并且后端不仅在就业方面,而且以后开发产品、创业都比前端有优势;
对于前、后端语言,如果都是普通熟练程度,现阶段,二者工资差别不是太大,但一个精通前端和一个精通后端,都是5年以上的程序员,很明显,后端程序员的工资远比前端程序员工资高。
因为很多人从事IT编程3-5年,顶多也就算熟练,称不上精通,那么对于新手,还纠结于编程学什么语言好的话,推荐下面这几种语言来学习:
1、PHP
属于后端语言,学习它的好处是:学习时间短、成本低、短期投入产出比明显,能让你对编程不再有恐惧感,让你爱上编程,并且在国内非常流行,用来做web开发非常适合;能做各类web系统的开发,熟练或精通它,无论就业或创业,都很easy。缺点是:入门太容易了,太多人会了,反而不值钱了,找工作容易,高薪的话,要非常精通才行。
2、java
相比php来说,入门稍微有些难度,但熟练或精通后,工资普遍比php高,也就是说你有5年java开发经验和有10年java开发经验,无论是工资还是技术,是有天壤之别的;但你有5年php经验和有10年php的经验,其实差别不是非常大。java可以做安卓开发、桌面应用系统开发以及web开发等。
3、python
python语言和golang语言选其中一个来学就可以,python比golang更容易些,应用范围非常广,如:web开发、爬虫、大数据处理、桌面端软件、还可用于 游戏 、人工智能、机器人等。他好像什么都会,但专做某一领域,公司反而会选其他语言,他是个多面手,但具体都很精、很专的业务,反而好多公司不选他,虽然如此,对于个人而言,学习它不会错。
4、golang
golang作为服务器编程语言,很适合做日志处理、数据打包、虚拟机处理、数据库代理等工作。在网络编程方面,它还广泛应用于web应用、API应用等领域。golang发布于2009年,比较年轻,目前有很多招聘和创业应用的需求,工资也不错,但初学者,短期内用它找工作或创业有难度,适合已经掌握了其他语言的情况下,学习golang。
5、C#
适合做windows类桌面软件、应用程序、web开发,BS/CS软件程序他都可以开发;虽然我以前学过asp ^^,但我对他了解不多,上手不难,也可以做 游戏 开发的后端等等。
还有超多的,如:Object-C、C++、C、Swift、Perl...
对于前端,基本上都是基于javascript,我目前对前端不是很精通,但下面几个东东,是非常值得你学习和掌握的:
1、vue/uniapp
这两个,在目前,前端非常火。学这个就不要再去看这2个了:react和angular。
2、node.js
这个我认为可以说他是脚本语言,也可以说他是后端语言。
3、H5+CSS+Bootstrap+jquery
这个非常非常的容易,不要专门花时间去学,工作过程中用到,顺便看看,就能用