Rumah > Soal Jawab > teks badan
请教一下大牛,最近需要开发一个windows程序,选型是用QT 但是在语言上犯难了,是PYTHON (PYQT)还是C++ ,想知道这两张开发出来的程序,在语言区别以外,还有没有其他大的区别
备注:比如客户端程序的打包安装上面,哪个较便捷,依赖少,更容易独立安装
伊谢尔伦2017-04-17 17:36:57
我建议你可以从下面方面衡量你应该如何选型
1) 该客户端是否“比较复杂”,也就是说代码量是否比较多,如果代码量比较多的话,反而建议你上Qt,因为Python语言代码量上去的话,还要匹配相当数目的单元测试,保证你每次迭代和加功能时,不会破坏以前的代码,对于生手特别是没有比较丰富经验的人来说,维护这么大的代码也是个问题。
2) 是否会调用其他的类库,比如有其他的C++封装的dll,如果是的话,Qt,否则PyQt。
3) 你的代码是否需要考虑版权的问题,除去Qt商业版收费的问题,你自己的代码是否需要做一定的知识产权保护,也就是加密,像PyQt这种基于python脚本语言的类库,在代码保护方面做的不是很好,你的代码对于熟悉pyc格式的人,基本上是完全暴露的,而且这样的逆向工具也很多。
4)你是否需要考虑性能,python受制于GIL,对于CPU敏感性的计算,速度比较慢,你是否能接受。
5)你的开发周期是否比较充裕,如果开发周期很短,建议上PyQt,否则Qt.
6) 客户端打包都有比较成熟的技术,PyQt用cxfreeze, Qt用installer。
7)对于你和你团队,大家更熟悉C++还是python
如果你对上述问题能比较清楚的回答,相信你选择什么方案,心里也就有数了
阿神2017-04-17 17:36:57
Qt开源版的协议要求使用Qt的项目也必须开源,否则就是侵权。另外Qt和PyQt的商业授权要分别买。
如果你买商业版的话,PyQt和C++基本没区别。开源授权的话PyQt没有Qt Charts的支持。另外PyQt用不了许多C++写的第三方Qt控件。