2012-01-13 2 views
15

La mia azienda sta rinnovando l'infrastruttura e i sistemi IT, quindi siamo a metà della messa a punto della tecnologia per lo sviluppo del nuovo sistema.Python nello sviluppo di applicazioni desktop

Siamo venuti a due candidati; Java & Python.

Il criterio principale della scelta è che la lingua deve essere completa; nel senso che deve essere in grado di utilizzare per lo sviluppo di applicazioni desktop web &. Java è dimostrato questo campo, con molti buoni framework web (JSF, Hibernate, ecc.) E relativamente buona libreria GUI (SWT, Swing).

Tuttavia, Python sembra più delizioso come dalla mia esperienza personale, lo sviluppo in Python è efficiente, potrei fare di più con meno tempo (ho solo esperienza nello sviluppo web con Django). Tuttavia, come per l'applicazione desktop, ho ancora trovato una buona libreria GUI che viene integrata con l'IDE come Swing.

Qualcuno può indicarmi il framework GUI migliore, se possibile, per l'applicazione desktop per Python?

+0

@CzarekTomczak è possibile interagire con COM o USB utilizzando questo CEF? –

risposta

15

Per Python GUI, ci sono 3 opzioni principali:

(PySide è una derivazione di PyQt).

Per costruire l'interfaccia, è possibile utilizzare wxGlade per wx, e confezionato QtDesigner per PyQt/PySide (che entrambi possono convertire i file .ui per .py

Tutte le 3 uso nativi widget OS, quindi guarderà a destra al casa.

Pur avendo più esperienza in wx, io in realtà preferisco PyQt, come trovo che sia un easir molto su cui lavorare.

per un IDE integrato per lo sviluppo di applicazioni Python GUI, nessuno ci sono (per quanto ne so) app complete, tuttavia, personalmente y usa PyDev in Eclipse, che può gestire i file di apertura .ui in QtDesigner per te, che salvi, esegui lo strumento per creare un file .py e funzionerà perfettamente in modo impeccabile.

4

È completamente possibile creare un'applicazione GUI SWING con Python. Cerca Jython, che è Python per JVM. Qualsiasi libreria Python pura (senza codice C compilato) per Python funzionerà con Jython che include la maggior parte delle librerie standard Python.

Inoltre, poiché Jython è un linguaggio JVM, ha accesso agli oggetti forniti da librerie Java come SWING e può anche utilizzare il modello di threading JVM. Il multithreading in plain Python è difficile a causa del Global Interpreter Lock. Jython non ha questa limitazione.

Se altre persone della società si stanno orientando verso Java, allora Jython con SWING sarebbe una scelta più sicura perché quando le persone dicono che dovresti usare Java perché Cool Library X è disponibile, devi solo sorridere e dire che Jython può anche usa Cool Library X perché Jython è un linguaggio JVM.