windows界面编程用什么
请问目前做windows桌面应用程序,MFC、QT、c#哪个更好?
c#是.net框架下主力语言,与windows系统的集成度很高,win7,win8,win10都自带.net框架,根本就不需要什么依赖,c#语言目前已经更新到8.0版本,***用vs来开发桌面程序简直太完美,不管是winform还是wpf这两个都是一二十年很成熟的桌面程序框架,拖拖控件就能开发,效率高。wpf自定义程度高,可以设计出精美的ui界面来,一点不输web界面,而且还有配套的bland设计器来辅助做ui界面。
目前winform,wpf这两个桌面框架都已经支出.netcore,这是一个新出的垮平台框架,所以我觉得做桌面开发c#是首选。
以上我的看法,大家有什么想法也可以一起讨论。
推荐使用QT,因为QT开发效率挺高,里面控件有布局容器很好用,虽使用C++语言,但是里面的库让你不用太操心new出来的对象还要关注释放,信号和槽让你自由的爽感。MFC就太老了,到处是宏,效率也低。C#的话开发效率是高,但运行效率低点,控件也不漂亮,还容易被反编译出代码 。
其实提问的人把顺序都排好了,反过来就是在win下开发选择的顺序。
mfc比较古老,基本只是winapi的一层很薄封装,用起来挺累的。除非是维护古老的mfc程序,比如你维护腾讯的qq, 用mfc应当几乎是必须的,其他情况并不推荐。
qt方案是个重量级选择,因为qt很庞大,几乎覆盖了桌面所有领域,ui只是其中一个小部分。但qt ui组件并不是属于原生方案,类似现在的flutter的方式,那些控件几乎都是自己渲染出来的,模仿了特定平台风格罢了。快速建模和概念演示用qt的qml很不错,另外qt用于商业领域并不是免费的,做产品需要还是考虑一下它的重量和价钱。
c#的winforms是ms的原生UI方案。根红苗正并且易用轻量,没有跨平台需求和不想折腾的话,用来做win桌面程序是最轻松和放心的方案。
值得一提就是如果应用中有很多需要展示web页面,或者嵌入了页面而不需要原生UI,用nodejs的方案会更方便,vscode用的就是electron,它其实就是内嵌了一个chrome浏览器,引出了一套js api罢了。而微信的电脑版用的是和electron类似的框架叫nwjs。
大部分跨平台方案因为都不是原生UI,体验上多少会差一些,比如操作不方便,压力大时反应慢,吃内存,包巨大等等
就我个人来说,大部分时间都在mac下工作,即使偶尔开发win桌面小应用,一般也是用mingw编译成exe/dll, 在Mac上用wine做业务逻辑测试。我选了wxwidgets做UI,它是原生方案,支持多个os平台,完全免费,支持各种脚本绑定,最关键比较轻量,整个UI包不到10M搞定。
展示一下最近做的一个windows下鼠标键盘操作记录+截屏数据的编辑器,用于生成自动操作文档和自动化录入工具,在mac m1下开发,x86-windows下运行, 用wxwidgets做UI。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/13839.html