[pyar] Consejos sobre cual GUI utilizar en Windows

Roberto Alsina ralsina en netmanagers.com.ar
Sab Sep 17 19:59:20 ART 2011


On 9/17/2011 6:42 PM, Mariano Reingart wrote:
> Puede ser, pero ahora con FormBuilder es mas ameno ese tema.

Como vengo escuchando esto ultimamente, me pasé un par de horas con 
FormBuilder.
O no lo entendí, o no, no es ameno.

> Igualmente yo no eligiría una herramienta solo por su parte "Visual",
> por experiencia, el diseñador de formularios pasa a ser algo
> secundario, no es obligatorio (al menos con wx) y en ciertos casos hay
> otras formas más rápidas y mantenibles de diseñar las pantallas.

Con ningún toolkit es obligatorio. Y sí, si estás haciendo un ABM, en 
una de esas no es la manera, sino que querés pantallas mediocres 
genéricas, que es lo que en mi experiencia producen todas las 
herramientas de generación automática de CRUD, y lo que produce el 99% 
de los desarrolladores en general.

Ahora, cuando empezás a querer tener una pantalla bien hecha, con diseño 
(y con eso quiero decir: con un diseñador humano atrás), ahí designer o 
alguna otra herramienta similar es buenísima, si no indispensable.

Por otro lado, la gran mayoría de las UI no tienen, ni se les pone el 
nivel de atención al detalle como para que te haga diferencia no digamos 
la herramienta gráfica, no te hace diferencia
el toolkit mismo.

Por ejemplo, layout de formulario típico, filas "etiqueta / campo". Cuál 
es el alineamiento correcto de los campos? Depende de la plataforma. En 
Qt, los pones en un "FormLayout" y te va a usar automáticamente el 
layout correcto para la plataforma y estilo en que corre el programa. El 
99% de los programadores les importa un rabanito y/o ni se enteraron de 
como hay que hacerlo.

Y después hay miles de detalles que no es que te hacen la vida más fácil 
solamente, si no que hacen que el producto final pueda ser mejor. 
Tomemos traducciones, por ejemplo.
En Wx tenés una herramienta que al traducir te muestra como queda la UI 
al mismo tiempo que lo estás traduciendo para que puedas elegir 
traducciones que queden bien de tamaño, que no rompan el flujo de la UI, 
etc? Bueno, Qt sí. Y sólo funciona si usás designer. Entonces al no usar 
designer, empeorás las cosas para los traductores.

No digo (porque no es la manera en que me manejo) "Wx es malo" (ok, 
TkInter es malo), pero en mi (poca) experiencia tocando código Wx, 
siempre salí corriendo.

> Lo que tiene wx es que me parece la mas "pythonica" (espacio de
> nombres, simplicidad, extensibilidad, etc.), y de hecho esta empezando
> a tener cosas puramente escritas en python, y eso creo es un buen
> camino a seguir, ya que te simplifica el desarrollo, podes corregir
> bugs facilmente, ver y entender el codigo fuente, etc.

Qt por otro lado te ofrece simplicidad, completitud, abstracción de casi 
todas las partes horribles de la plataforma, un set de herramientas 
consistentes y "oficiales", o sea que no te pueden decir "ah, no, esa 
parte en la herramienta pepe no va, usá la herramienta pancho".

Y sobre todo: cross platform en serio (si hay algo que no es igual y no 
está en la documentación, es un bug). Eso quiere decir que mientras te 
mantengas en Qt y las barrios buenos de la stdlib[1], la plataforma no 
te importa.

Cosas que me parece que son malas en Qt:

* Los nombres no son PEP8
* Si hacés binarios frizados en windows no te andan los plugins a menos 
que hagas algunos trucos
* Los exes para distribuir son grandecitos (15MB sin webkit, 20 con 
webkit, depende de si por ejemplo usas OpenGL, QtNetwork, etc, en una de 
esas se va a 30)

Saludos

[1] Hay unas cuantas partes de la stdlib que son villa, favela y/o ghetto.



More information about the pyar mailing list