请教一下大牛,最近需要开发一个windows程序,选型是用QT 但是在语言上犯难了,是PYTHON (PYQT)还是C++ ,想知道这两张开发出来的程序,在语言区别以外,还有没有其他大的区别 备注:比如客户端程序的打包安装上面,哪个较便捷,依赖少,更容易独立安装
走同样的路,发现不同的人生
我建議你可以從下面方面衡量你應該如何選型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
如果你對上述問題能比較清楚的回答,相信你選擇什麼方案,心裡也就有數了
Qt開源版的協定要求使用Qt的專案也必須開源,否則就是侵權。另外Qt和PyQt的商業授權要分別買。
如果你買商業版的話,PyQt和C++基本上沒差別。開源授權的話PyQt沒有Qt Charts的支援。另外PyQt用不了許多C++寫的第三方Qt控制項。
我建議你可以從下面方面衡量你應該如何選型
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
如果你對上述問題能比較清楚的回答,相信你選擇什麼方案,心裡也就有數了
Qt開源版的協定要求使用Qt的專案也必須開源,否則就是侵權。另外Qt和PyQt的商業授權要分別買。
如果你買商業版的話,PyQt和C++基本上沒差別。開源授權的話PyQt沒有Qt Charts的支援。另外PyQt用不了許多C++寫的第三方Qt控制項。