7

随想录(上位机客户端的编写)

 3 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/110296157
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

随想录(上位机客户端的编写)

费晓行 2020-11-28 23:41:18 123
分类专栏: 随想录

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    说到上位机的客户端编写,大约15年前左右,那个时候还是有很多工具来完成这个任务的。我印象比较深的,有visual basic、delphi、borland c++ builder、java awt等等。当然时至今日,真的用的比较多的还是MFC和QT、C# Form这三种。

1、MFC

    MFC很早就有了,至少在我2003年上大学的时候,visual studio 6.0的安装盘里就有这个MFC了。对于很多开发者来说,使用MFC的成本比较高。一方面,你要对c++比较了解,另外一方面你要对MFC自身的机理比较清楚。很多人光是学习frame-doc-view这套逻辑,就要花上很长时间。但是等到真正用起来的时候,发现也就那么回事。为此,市面上出现了很多解析MFC的书,其中以一本《深入浅出MFC》最为有名。最新的visual studio 2019默认已经不安装MFC了,但是你如果选上,也是可以继续使用的。按照微软一贯的做法,MFC还是会继续兼容的,但是未来不再是推广的方向了。这个时候,如果学有余力,或者是因为要维护之前的老代码,可以学一学MFC。如果是快速开发产品运行,不妨试试QT和C# Form。

    说到QT,很多人对他的跨平台属性印象深刻。同样一份代码,不需要太多修改,就可以从windows移植到linux上面。当然,如果是在windows开发qt,需要先安装visual studio软件,再安装qt安装包文件。这个安装包文件是编译好的,本身包括了qt-creator和qt软件库。本身而言,用户既可以用qt creator开发程序,也可以用visual studio,后面一种情况居多。当然,如果代码量不多,qt-creator未必不可,这个时候,需要安装一个windbg,给qt-creator当调试器用。此外,如果qt在visual studio使用比较频繁,建议安装一个qstool的插件,使用比较方便。等到开发好后,用winqtdeploy发布一下就好。目前,不管在哪个方面,qt开发都是主流,建议同学们可以重点关注。唯一需要担心和注意的,就是qt许可的问题,如果只是学习,问题不大,如果涉及到商业,最好咨询一下。

3、C# Form

    说到C# Form,让我想到了delphi、vb那种所见即所得的模式,这个也是现在比较常用的一个开发模式。MFC和QT本身用cpp开发居多,对开发者有一些技术要求,但是C#本身却很容易上手,不太会出现指针越界和内存泄漏的问题。这个对一个团队开发来说,是非常重要的。这样,只要产品遇到问题,很多人都可以看懂这个代码,修改这个代码,这对项目管理来说是非常非常重要的,我想这也是C# Form比较流行的重要原因吧。由于门槛不高,很多人经过不长时间的阅读,就可以掌握C#的开发方法,这对于用人单位来说,是最好不过的事情。

4、后续的话

    不管是哪种语言、工具,还是框架,都可以开发软件,本身没有高低贵贱之分,只有合适不合适。从产品整体开发来说,C#是最好的,谁都可以维护;从适用性、美观、性能、可移植性来说,QT都是遥遥领先;从维护老代码的必要性说,MFC是不得已而为之的方法。当然,还有人会说,除了上面提到的这些方法,还有labview、matlab呢。这两种方法,读书的时候也许会用,但是实际产品中,用的真不多。大家还是应该把重点放在c# Form和QT上面,尤其是QT,非常值得一学。

5、其他值得推荐的上位机开发库

a)easyx,https://easyx.cn/

b)ftk,https://www.oschina.net/p/ftk

c)minigui,https://minigui.fmsoft.cn/

d)ucgui,https://baike.baidu.com/item/UC-GUI

e)wxpython,https://www.wxpython.org/

f)duilib, https://github.com/duilib/duilib

    上面这几种都是开发过程中曾经遇到过的库。个人比较推荐wxpython,一方面它是用python脚本开发,很容易。另外一方面它本身也在不断迭代当中,使用起来很容易,没有特别大的困难,短时间内就可以上手,开发效率很高。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK