前两天在知乎上看到一个问题,说windows桌面应用程序用什么框架开发比较好。说实话,一般看到这种问题,我会忽略不看,以免引起争论。无意间看到回答数上千。因此就简单浏览了一下。期间有人说用QT,有人说用c#,有人说用Electron。不乏各种争论到底哪个框架最好。最后谁也没有说服谁。




windows 桌面软件开发可以用python吗 windows桌面应用用什么开发_什么语言开发windows程序


看到这个问题,让我想起以前争论到底哪种语言最好一样的问题。我在软件行业做了快20年。期间也用过不少语言和开发平台,包括较早的vc6.0,以及c#,asp.net,QT,java,Delphi,C++BUILDE等等。第一个软件是用vc6.0做的。说到哪个框架最好,这可能是没有答案的问题。可是,我们为什么要纠结于用哪个框架呢?哪种语言最好,谁又说的清楚。就像在机械行业,到底用哪个软件画图一样,熟悉UG的人说UG比Pro/E好用,反过来熟悉Pro/E的人又反对用UG。可是,如果不会机械设计,会这些软件有什么用呢?

所有的语言好不好、框架好不好等问题,最后都是人的问题。对于任何一个功能,几乎所有的语言和框架都可以实现。你用好了它就好,你用不好它就不好。所以关键在于实现这个功能的人的水平怎么样。有的软件核心在于算法,有的软件核心在于逻辑流程。而对于框架的选择其实没有那么重要。自己熟悉哪个框架就用哪个框架,或者公司用的哪个平台自己跟着用就是了。选择一个框架最主要的是能够快速实现功能,然而核心的东西才是关键。

所以,不要纠结于选择哪个框架平台。IT行业有很多方向,有的是做互联网方向的,有的是做工业控制软件方向的,有个是做管理系统的,有个是做医疗系统的,现在很多人开始往人工智能方向走。不管哪个方向,框架都不是问题,也不是核心。每个行业有自己用的习惯的框架,照着用就是了,不管哪个行业,要找到其核心是什么,然后往这个方向走,才不会被框架给限制住。比如,现在很多人开始搞人工智能,可是,难道用好tensorflow或者其他深度学习框架就算会人工智能了吗?这恐怕连门来在哪里都没有找到。有人用深度学习做计算机视觉,就会用框架跑几个模型,连数字图像是什么都没有搞清楚,这怎么能长久。

所以,我的建议是把基础的东西弄清楚,把一种语言学好,把数据结构这些基础的学好,不要纠结用什么框架,任何框架的熟悉时间可能也就一个月左右。有个朋友是搞艺术设计的,和他聊天的时候,经常听到他说面试的人都说自己会什么什么软件,软件会了一堆,可是,他要的是对艺术有灵感,会设计的人,而不是会操作软件的人。我想这是一个道理,做IT的公司不是需要你会多少种框架平台,而是要你会开发,这与框架无关,框架只是一种工具而已。同样,用什么语言也是一样的,每种语言都是类似的,学会了任何一种语言,要改成其他语言,也可以快速入手。