[pyar] Experto pyQt se busca

Guillermo M. Narvaja guillermo.narvaja en fierro-soft.com.ar
Mar Mar 6 13:26:17 ART 2012


El lun, 05-03-2012 a las 16:19 -0300, Martín Gaitán escribió:
> On Mon, Mar 5, 2012 at 3:01 PM, Guillermo M. Narvaja
> <guillermo.narvaja en fierro-soft.com.ar> wrote:
>         Estamos evaluando cambiar la interfaz gráfica de nuestro
>         sistema Fierro
>         de wxPython a pyQT (o a pySide).
>         

> 
> Guillermo, 
> 
> Siendo Fierro un *caso de éxito* de python a nivel software comercial
> en argentina, con varios (?) años de desarrollo encima, me gustaría
> saber cuales son las razones de esta decisión. 
> 
> Por qué no más wx, por qué Qt ? 
> Y (quizas respondible despues de la consultoría o nunca) qué tan caro
> estiman esta migración ?


En realidad se juntaron varias cosas para tomar esta decisión. Nosotros
iniciamos el desarrollo de Fierro en 2004, en ese momento usando
wxPython 2.4 y con muy poca experiencia en Python. 

Uno de los problemas surgidos de las decisiones de ese momento, es que
todo el código del sistema está usando la versión "ansi" de wxPython, no
la versión unicode. 

Más adelante hicimos algunos cambios para que funcione con wxPython 2.6.
Pero hoy, si decidiéramos seguir con wxPython, deberíamos hacer el
pasaje a unicode (creo que las versiones ansi ya no son soportadas) y
cambios para soportar wxPython2.8 o 2.9.

Además, Fierro usa mucho un navegador embebido para lo cual usamos la
librería wxMozilla. Esta librería hace más de un año dejó de ser
mantenida y no funciona con las versiones actuales de xulrunner y no sé
si funciona con wxPy-2.8. Las alternativas wxWebkit y wxWebConnect están
muy verdes.

Por todo esto, así como estábamos con wxPython no podíamos seguir. Se
podría resolver invirtiendo tiempo en seguir con wxPython, pero este
también es un buen momento para evaluar otras opciones.

Comparado con wxPython, pyQt/pySide tiene algunas ventajas:
 * parece tener mejor futuro [1] y [2]
 * Tiene bien resuelto y estable el navegador embebido (qtWebkit).
 * Tiene planes futuros de soporte para dispositivos móviles. 
 * Hay librerías para hacer testing automatizado, otra de las cosas que
queremos mejorar/implementar.
 * La interfaz gráfica es más consistente entre plataformas. wxPython
con ventanas MDI en Windows es horrible.

Respecto al costo de hacerlo, cuando lo terminemos te cuento. En
principio, hay una ventaja que es que las ventanas del sistema las
tenemos hechas en un formato XML a partir del cual generamos el código
wxPython. Si pudieramos hacer la herramienta de conversión de ese XML a
ventanas de QT, se simplificaría bastante, ya que nos evitaríamos tener
que redibujar las ventanas. 

Sacando eso, la parte de interfaz de usuario del sistema tiene 100.000
líneas de código. De esas al menos 3000 líneas en 250 archivos son las
que probablemente habría que tocar...


--
[1] - http://www.google.com/trends/?q=wxpython,+pyqt+|
+pyside&ctab=0&geo=all&date=all&sort=0
[2] - http://www.google.com/trends/?q=wxwidgets+|+wxpython,+pyqt+|
+pyside+|+qt&ctab=0&geo=all&date=all&sort=0

-- 
Guillermo M. Narvaja
Lambda Sistemas S.R.L.
www.fierro-soft.com.ar
Tel: (5411) 4139-0493/4
Cel: (5411) 15-6783-4435
Email: guillermo.narvaja en fierro-soft.com.ar
MSN: guillermo_narvaja en hotmail.com
Skype: guillermonarvaja
Lavalleja 519 1er Piso - Ciudad de Buenos Aires - Argentina




More information about the pyar mailing list