三大主流平台开发桌面程序的七大优劣势详解

三大主流平台开发桌面程序的七大优劣势详解

软件开发环境QT,MFC,WPF等相关的对比详解

嗨,大家好,我是兆千图网络科技,很高兴站在这里跟大家分享一些开发相关的技巧,我们在软件开发行业摸索了十多年了,站在开发的角度,今天就来跟大家交流一下qt,mfc,wpf等相关的桌面程序开发中的便利与苦恼吧。

 

qt搭建桌面程序

qt是目前来说比较火爆的一款开发软件环境,其积累了C++,qml等相关的算法和界面框架,同时其还是兼容vs下的C++库,比如,windows下希望能够开发CH375相关的串口通信,那么完全可以调用qt+vs环境,调用vs下的mfc库进行联合开发。

qt能做的事情实在是太多了,再如比较酷炫的粒子效果,qml搭建漂亮的界面,多线程进行通信相关的开发,加载数据库,字符串相关的转换,等等,这些简单常见的功能,被qt做的实在是太到位了。

这也是为什么工业上大家都选择他的原因:界面能拿得出手,通信,数据库都封装的特别到位,而且使用起来非常的简单,你只要英语足够好,完全能够搞定它。

 

而且你想调用的库都在,而且其最有优势的地方就是,不需要重新去进行其它语言的重修,你擅长c++就直接使用c++即可,当然,你想往qml下发展,也可以根据官网提供的demo进行自我学习和发展。

qt下的开发环境,目前最大的优势就是强大的demo库,以及其强大的pro文件,你想要调用相关的库文件,只需要将pro文件中进行相关的配置就好。

如果你长期使用qt,我相信你一定知道兆千图网络科技在说的是什么哦!

那么接下来我们来说一下桌面程序大家常常会使用的mfc。

 

mfc开发桌面程序

mfc在桌面程序相关的开发中,可谓说是比较老的,传统的了,你在进行相关的开发过程中,只需要进行相关的逻辑填写即可,不需要知道内部是如何进行实现的。

比如,这个里面常常使用的对话框程序,你只要将对话框拖入到视野中,将你想要实现的功能进行按钮事件相关的触发,编写相关的按钮事件内容函数进行按钮触发相关的内容的实现即可。

 

其对于小白刚刚入行来说是比较不错的一个选择,而且,网上关于mfc的介绍资料也是非常的多的。

但是,其关于数据方面的转换,还是有很多坑的,如你所要使用的string,char,其实本质上还是有很多差异的,有时候,我们仅仅使用format函数进行相关的转换还不能实现想要的功能,而且我们在mfc环境下使用数组也好,指针也罢,其进行整体赋值操作,依然要遵循vs下控制台程序中的调用数组指针等相关的初始化流程,是我们暂时无法进行修改的。

当然,你想简化的话,就需要自己编写相关的源码函数进行简化功能的实现了。

那么接下来我们一起来看一下wpf下的桌面程序开发吧。

 

wpf开发桌面程序

wpf在2014年左右是相当火爆的,那会,大家都在纠结使用winform还是wpf,但是最终还是被wpf的xaml语法而吸引,最终还是选择了wpf进行优美界面相关的开发了。

wpf其实跟上面两个进行对比的话,明显是有不足之处的,因为其不存在所谓的头文件,能够封装的全部都在using namespace中,而你要想调用相关的库,就需要添加所谓的命名空间,这样就很尴尬,很多时候我们并不知道要添加什么库。

还有坑的地方就是,其存在相关的库的多态性,咱们根本不知道人家要让我们使用哪个库进行调用,还好,其给自己留了一个不错的工具,就是使用alt+enter自动添加库,不然语法出错,我们都不知道错在哪里了。

 

他更坑的地方还不在这里,更加坑人的地方是,C#本身就不支持强制类型转换,可能你进行int和ushort类型的数据转换,需要强制加所谓的类型,不然他就会报错,我觉得这是所有老开发人员不能容忍的事情吧。

据我们所了解,使用这么多框架的老开发人员,在谈到这个wpf的时候,都是哭笑不得的!

大家清晰了上面三者的开发特点后,接下来我们来总结一下三者之间的优势和劣势吧:

三者之间的七大优势和劣势详解

1 wpf自带查错功能,这是mfc和qt不具备的功能;

也就是说,我们在代码开发中,一旦发现下面有编译错误了,只需要按住alt+enter键即可自动进行相关错误的更改。

但是这个仅仅是对相关的库的缺失比较好用,如果变量相关的定义错误的话,这个功能是很难提供正确的修改方法的哦!

 

2 wpf不存在h文件,内部实现接口不外放是其常见劣势;

wpf中的函数,基本上都包起来了,我们是无法看到其具体实现方法的,这对于开发者来说可能就是最大的失望了吧;

3 wpf的xaml对于三维建模是非常有利的;

关于3D仿真相关的开发,是这些个平台都支持的,但是很少有平台能够外露数据让你进行模型的搭建的,但是wpf可以,也就是说,如果你是机械设计师,使用的solidworks进行建模,那么转移到wpf是非常容易的。

 

4 qt下的数据转换做的非常棒,是其它两个平台无法匹配的;

qt下,你不必但是string类型的数据无法和char,int等进行相关的转换,一个toint或者tostring就可以搞定,这是mfc和wpf永远无法赶上和超越的。

5 纯qt下debug模式断点比较卡,但是可以使用qt+vs下断点调试;

我们使用qt下migw平台进行程序的调试,debug模式下的断点是非常卡顿的,这是qt下最大的败笔,但是我们可以搭建qt+vs进行相关的断点调试阿,总体来看qt下的这点败点还算能够接受吧。

6 mfc和wpf下断点还是非常轻松搞定的;

在wpf,mfc下断点调试非常流利和舒服,这是qt不能匹敌的。

 

7 mfc下的类视图分的特别清晰;

mfc作为老平台进行界面开发,其清晰的类图框架是wpf和qt无法匹敌的。

好了,可能还有很多优劣势,我们今天就先展示这么多吧。

三者中选择哪个会更好?

听完我们的描述,你会更倾向于选择哪个进行桌面程序的开发呢?欢迎在下方进行留言哦。

好了,今天咱们就为大家分享这些吧,如果你也喜欢软件开发,欢迎跟我们一起学习吧,加入我们学习更多的免费干货吧

posted on 2023-03-07 18:03  漫思  阅读(192)  评论(0编辑  收藏  举报

导航