2012-01-13 15 views
15

Mi empresa está renovando la infraestructura y los sistemas de TI, por lo que estamos en el medio de finalizar la tecnología para desarrollar el nuevo sistema.Python en desarrollo de aplicaciones de escritorio

Hemos llegado a dos candidatos; Java & Python.

El criterio principal de la elección es que el idioma debe estar completo; en un sentido que debe ser capaz de usar para el desarrollo de aplicaciones de escritorio web &. Se ha demostrado que Java es este campo, con muchos buenos frameworks web (JSF, Hibernate, etc.) y una biblioteca de GUI relativamente buena (SWT, Swing).

Sin embargo, Python parece más delicioso ya que, según mi experiencia personal, el desarrollo en Python es eficiente, podría hacer más con menos tiempo (solo tengo experiencia en desarrollo web con Django). Sin embargo, en cuanto a la aplicación de escritorio, todavía encuentro una buena biblioteca de GUI que viene integrada con el IDE como Swing.

¿Alguien me señala el mejor marco de GUI posible para aplicaciones de escritorio para Python?

+0

@CzarekTomczak ¿es posible interactuar con COM o USB utilizando este CEF? –

Respuesta

15

Para GUI Python, hay 3 opciones principales:

(PySide es una derivación de PyQt).

Para la construcción de la interfaz, puede utilizar wxGlade de wx, y el QtDesigner empaquetado para PyQt/PySide (que ambos pueden convertir los archivos .ui a .py

Los 3 Uso de widgets nativo del sistema operativo, por lo que se verá a la derecha en casa.

a pesar de tener más experiencia en WX, en realidad prefieren PyQt, ya que me parece que es un easir mucho que trabajar.

para un IDE integrado para el desarrollo de aplicaciones GUI Python, no hay ninguno (que yo sepa) completar aplicaciones, sin embargo, yo personall y use PyDev en Eclipse, que puede manejar los archivos de apertura .ui en QtDesigner para usted, lo que usted ahorrará, ejecute la herramienta para hacer un archivo .py, y funcionará sin problemas.

4

Es completamente posible construir una aplicación SWING GUI con Python. Busque Jython, que es Python para la JVM. Cualquier biblioteca pura de Python (sin código C compilado) para Python funcionará con Jython, incluida la mayoría de las bibliotecas estándar de Python.

Además, como Jython es un lenguaje JVM, tiene acceso a objetos proporcionados por bibliotecas Java como SWING, y también puede usar el modelo de subprocesamiento JVM. El subprocesamiento múltiple en Python sencillo es difícil debido al bloqueo de Intérprete global. Jython no tiene esa limitación.

Si otras personas de la compañía se inclinan por Java, entonces Jython con SWING sería una opción más segura porque cuando la gente dice que debería haber usado Java porque Cool Library X está disponible, solo sonría y diga que Jython también puede aprovechar Cool Library X porque Jython es un lenguaje JVM.

Cuestiones relacionadas