2012-01-13 52 views
15

我的公司正在改造IT基礎架構和系統,因此我們正在完成開發新系統的技術。桌面應用程序開發中的Python

我們來了兩位候選人; Java & Python。

選擇的主要標準是語言必須完整;從某種意義上說它必須能夠用於網絡桌面應用程序的開發。 Java被證明是這個領域,擁有許多優秀的Web框架(JSF,Hibernate等)和相對較好的GUI庫(SWT,Swing)。

但是,Python看起來更美味,因爲從我個人的經驗來看,Python的開發是高效的,我可以用更少的時間做更多的事情(我只有Django網站開發經驗)。但是,至於桌面應用程序,我還沒有找到任何與Swing集成在一起的良好GUI庫。

有人可以指出我最好的如果可能的GUI框架爲Python的桌面應用程序?

+0

@CzarekTomczak是否可以通過使用此CEF與COM或USB進行交互? – 2013-12-05 05:38:50

回答

15

對於Python GUI,有3個主要的選項:

(PySide是PyQt的的推導)。

爲建設界面,你可以使用wxGlade爲WX,和PyQt的/ PySide包裝QtDesigner(二者可以在.ui文件轉換爲.py

所有3使用本機操作系統窗口小部件,所以看起來就在家中。

儘管擁有WX更多的經驗,其實我更喜歡PyQt的,因爲我覺得這是一個很大easir的工作。

有關開發Python的GUI應用程序集成的IDE,沒有任何(據我所知)完整的應用程序,但是,我個人您可以使用PyDev,Eclipse,它可以爲您處理QtDesigner中的開放.ui文件,您可以保存該文件,運行該工具製作.py文件,該文件可以非常完美地工作。

4

完全可以使用Python構建一個SWING GUI應用程序。尋找Jython,這是JVM的Python。 Python的任何純Python(沒有編譯的C代碼)庫都將與Jython一起工作,包括大多數Python標準庫。另外,由於Jython是JVM語言,因此它可以訪問由Java庫(如SWING)提供的對象,並且還可以使用JVM線程模型。由於全局解釋器鎖定,使用普通Python進行多線程操作非常困難。 Jython沒有這個限制。

如果公司的其他人傾向於使用Java,那麼使用SWING的Jython應該是一個更安全的選擇,因爲當人們說應該使用Java,因爲Cool Library X可用時,您只需微笑並說Jython也可以利用酷庫X,因爲Jython是一種JVM語言。