python到底適合用來開發(fā)桌面軟件嗎?(python可以開發(fā)桌面應(yīng)用軟件)
其實(shí)python/Java/PHP都不適合用來做桌面開發(fā),Java還是有幾個比較成熟的產(chǎn)品的,比如大名鼎鼎的Java集成開發(fā)環(huán)境IntelliJ IDEA、Eclipse就是用Java開發(fā)的,不過PHP和Python沒有比較成熟桌面產(chǎn)品。
盡管Python本身不擅長做桌面開發(fā),可是Python跟C 融合得非常好,而C 非常擅長做桌面開發(fā),Python的強(qiáng)大正是因?yàn)镻ython和C 融合得非常好,當(dāng)然Python和C/C 都能有很好的聯(lián)系。
PyQt
QT是目前非常成功的桌面解決方案,PyQt是Qt庫的Python版本,PyQt3支持從Qt1到Qt3的版本, PyQt4則支持Qt4。
之前名字叫做PyKDE,早期的SIP和PyQt沒有分離開來,最開始在1998年發(fā)布,PyQt是用SIP寫出來的,PyQt有GPL開源版本和商業(yè)版本兩種版本。
PyQt
Python圖形開發(fā)包wxPython
wxPython是Python語言的一個比較好的GUI圖形開發(fā)庫,你可以很方便的就能夠創(chuàng)建功能完整、并且健全的GUI圖形界面。
wxPython是通過封裝開源跨平臺的GUI圖形界面庫wxWidgets以及Pyhon模塊來實(shí)現(xiàn)的,最終給到開發(fā)者的是一個比較成熟的圖形界面開發(fā)包。
wxPython跟Python、wxWidgets一樣都是開源軟件,具備很強(qiáng)的跨平臺能力,在32位/64位Windows操作系統(tǒng),在Unix/Linux以及macOS上都能夠運(yùn)行。
wxPython
Tkinter
這也是一個非常成熟的解決方案,Tk接口是Tk圖形用戶界面工具包標(biāo)準(zhǔn)的Python接口 ,Tk是一個跨平臺的、并且還是一個極其輕量級的圖形界面開發(fā)框架。
Tk可以在幾乎所有的Unix、Windows、以及macOS平臺上運(yùn)行,Tkinter是有一定數(shù)量模塊構(gòu)成的,Tkinter位于一個叫做_tkinter的二進(jìn)制模塊中 。包含了對Tk低級接口的模塊,不過低級接口不會被應(yīng)用開發(fā)者直接使用,這些通常是一個共享的DLL庫,不過能夠被Python解釋器靜態(tài)鏈接。
人生苦短、Python是案
除了上面這三個圖形界面開發(fā)工具,Python也還有其他的比較成熟的圖形界面開發(fā)工具庫,kivy同樣是開源工具包,并且這是一個在創(chuàng)新領(lǐng)域非常重視的圖形界面開發(fā)庫,能夠作出多點(diǎn)觸控的應(yīng)用程序,也能夠提供多點(diǎn)觸控鼠標(biāo)模擬器,目前在Linux、macOS、Windows、Android都能應(yīng)用。另外一個是Flexx,這是一個純粹的Python圖形界面開發(fā)工具包,它主要通過Web技術(shù)進(jìn)行渲染,和HTML也能很好相處,因此你只需要Python和瀏覽器進(jìn)行開發(fā)。
不過說到底python終究不是為桌面開發(fā)而生的,目前做桌面開發(fā)的macOS平臺下有Objective-C/Swift,Windows平臺下有C#,另外QT為代表的C 解決方案依然是目前最強(qiáng)大的桌面解決方案。與此同時Electron/Flutter/React Native等未來會成為移動和PC端最重要的新興桌面開發(fā)解決方案。