{eval=Array;=+count(Array);}
想开发一款基于windows系统的桌面软件,用什么语言?其实大部分编程语言都行,不管是c++,还是c#,都支持桌面GUI开发,各种框架/库层出不穷,当然,还有一些比较经典的开发工具,delphi、powerbuilder等,下面我分别简单介绍一下:
说起c++做GUI开发,还是windows平台,许多朋友一定想到的是mfc,一个非常经典的开发框架,也是微软早期一直推崇的,只需拖拽控件,编辑属性,即可快速构建一个桌面程序,省去了大量代码编写和优化,不过随着时间的推移,mfc的缺点和弊病也逐渐暴露出来,设计复杂、不够灵活、不支持跨平台等,只有一些老项目还在使用,更多的人开始投向qt等新型开发框架,易于学习、支持跨平台、应用广泛,如果你本身熟悉c++的话,可以使用一下qt,整体效果非常不错:
这应该是windows平台下桌面开发使用最多的编程语言了,平台兼容性最好,也是微软大力推广的一种编程语言,不仅仅是桌面GUI开发,web开发等也普遍应用,入手容易,易于学习,winform、wpf更是桌面开发的神器,自带GUI设计界面,组件容器众多,属性丰富,只需拖拽控件,编辑属性,即可快速构建一个桌面程序,如果你想快速迭代开发一个大中型软件,适用于windows平台,可以使用一下c#,效果非常不错:
除了c++、c#等编程语言,也不能忘了delphi这个老牌开发工具,对于windows桌面开发也是一把利器,如果你本身不熟悉编程语言,没有任何经验可言,可以使用一下delphi,专门为windows桌面开发量身定做的一款开发工具,自带可视化设计界面,只需拖拽控件,编辑属性,即可快速构建一个GUI程序,所见即所得,支持各种主流数据库开发,不管是运行效率还是编译效率都非常高,当然,随着c#等语言的兴起,delphi的应用范围正在逐渐缩小,但对windows桌面开发来说,效率还是非常高的:
其实除了以上语言和工具,还有许多其他语言也支持windows桌面开发,vb、python、java、易语言,还有比较流行的前端electron,根据自己实际情况,选择适合自己的一款语言就行,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
开发PC客户端软件,选用C++ 还是 C#?当然是看你对哪门语言熟悉更加熟悉了。如果都不熟悉,那么从易用性角度考虑,还是建议C#。
由C、C++演变而来,但是它现代、简单、完全面向对象和类型安全,使用它开发界面,可以体会到所见即所得的快感。凭借微软这个亲爹的强大后盾而在PC客户端开发占有一席之地。
C++开发界面库,只推荐Qt、MFC两款文档齐全的界面库,至于其他第三方比如Duilib之类的,这里就不再推荐了。
1、Qt
先来直接看一份效果图,下图是以Qt提供的QSS绘制的界面换肤效果图,怎么样,有没有很现代的感觉?
作为C++开发的首选界面库,Qt最大的好处就是文档齐全,API设计优雅,原生态跨平台支持!新手遇到问题可以很容易在网上论坛找到解决方案。在国产化盛行的今天,相信Qt会有更好的发展。
2、MFC
虽然早在十几年前业界就在流传MFC要灭绝了,MFC==没饭吃,但是,直到2020年的今天,它还在活着,还有一定的市场需求,只能说MFC落幕了。
我想他最大的好处就是运行效率高,依赖库相比Qt少很多。如果你对最终产品的界面要求不是很高的话,可以考虑。
PS:说点题外好,如果你还是在校学生,完全没有必要去深究MFC,只需了解其大概思想即可。
如果你已经工作,不幸加入的项目组还是以MFC为基础库在开发,那么只能自求多福,早日跳槽了。
本文为作者“一个程序员的奋斗史”悟空问答原创文章,未经允许转载、抄袭必究!
建议用python 内置tkinter,网上教程一大把,入手特别容易。另外github上有很多抽奖类的开源程序,直接上手就可以使用[玫瑰]
肯定使用C#呀,开发Windows桌面程序,第一IDE就是VS,VS是天下第一开发平台,和Windows无缝集成,C#在Windows上基本无所不能。不管你做驱动程序,视频图像程序,人工智能,数据库管理,工业自动化,就没有C#不能做的。如果单从语言的优美及先进性上说,C#优于JAVA,但是JAVA的生态和性价比优于C#,所以现在C#没有JAVA吃香,如果你做的桌面程序考虑跨平台使用,那就只能选择JAVA。
首先看你有没有自己熟悉的开发平台,如果有,只要是还支持现在的win平台,就不要改了。如果没有熟悉的,建议c#,或者Delphi,学习成本不高,入门比较快,第三方的支持控件比较多,开发周期短。如果还兼顾了win平台下的数据库开发,那更是这二者的长项。特别注意,这仅仅是win平台的桌面应用开发。
10
回答7
回答0
回答10
回答10
回答0
回答0
回答0
回答0
回答10
回答