por
pobrecito hablador
el Sábado, 22 Enero de 2005, 01:07h
(#428177)
Me tiré bastante tiempo evaluando las distintas plataformas para programación gráfica usados en programas libres y, hasta ahora, me quedo con la librería GTK+ por las siguiente razones:
- Está programada de forma muy elegante y el código al que conduce tiende al buen gusto.
- En un desarrollo constante y continuado (aunque por ello también está cojo en algunos aspectos por falta de "madurez").
- Diseño concienzudo (accesibilidad por teclado, temas, cambios de resolución, etc...)
- Bindings o enlaces a muchísimos lenguajes de programación.
- Totalmente libre en todas las plataformas y con un desarrollo abierto y no controlado por una sola empresa.
En relación a las otras plataformas "en competencia" opino:
- Qt, aunque resulta atractiva, tiene el grave problema de que no resulta una opción factible en Hasefroch Window$ como plataforma para programas libres. Tiene a su favor que es muy completa y resulta muy homogénea (bien diseñada).
- WxWidgets es horrorosamente fea tanto conceptualmente como desde el punto de vista del código al que conduce. Su sistema de señales, la sintaxis, los patrones de diseño elegidos y demás son al más puro estilo guarrete de las MFC, con uso obsceno del preprocesador y una orientación a objetos de la época del Cromañón, sin dejar de mencionar el mal gusto omnipresente. Tiene a su favor que es completa (porque si hace falta un control se hace, aunque sea con un mal diseño), muy usada (lo que la hace difícil de ignorar como alternativa), el uso de la plataforma nativa, y su orientación totalmente pragmática (fuente de sus males, por otro lado) de la que resulta difícil sustraerse si lo que se quiere es solucionar algo inmediatamente, sin plantearse qué pasará mañana...
<i>
- Qt, aunque resulta atractiva, tiene el grave problema de que no resulta una opción factible en Hasefroch Window$ como plataforma para programas libres. Tiene a su favor que es muy completa y resulta muy homogénea (bien diseñada).
</i>
En esto te equivocas; puedes usar programas libres enlazando con las Qt no-comerciales para Windows simplemente añadiendo una excepción a la GPL (como la del KVIrc3, por ejemplo) que simplemente diga:
Como excepción se permite a este programa enlazar contra las Qt no-comerciales (igual que al final enlazas con los widgets de windows que tampoco son libres.)
Trolltech permite esto (si dudas, pregúntales) y yo lo he explicado como un trillón de veces en barrapunto :) Los que tienen el problema son los que quieran hacer aplicaciones comerciales pero no pagar los 1350€ (que no 500, como se ha dicho.)
Yo estoy de acuerdo contigo, he desarrollado alguna aplicacion con wxwidgets y cada linea que escribia me hacia pensar lo mal pensado que estaba todo.
El problema es que a dia de hoy es la unica libreria portable que usa los widgets nativos de cada SO, y las aplicaciones creadas con la misma resultan mas coherentes con el resto del entorno.
En mis nuevos desarrollos me he pasado a Gtk+ y no hay color, mucho mas elegante (me refiero desde el punto de vista del programador) y consistente. Ademas su diseño esta pensado desde el principio para que pueda ser enlazado en otros lenguages (Python, Perl, etc.) y eso se nota.
wxWidgets por el contrario, esta orientada unicamente a ser utilizada desde C++ y aunque hay enlaces con otros lenguages estos distan bastante de ser perfectos. Como ejemplos, el manejo de memoria y las reglas sobre posesion y destruccion de los objetos son lamentables y no se pueden ocultar siempre en los lenguages de mas alto nivel como python.
Otro aspecto de wxWidgets que me hace desaconsejar su utilizacion es la falta de consistencia en sus clases y sus metodos. En general en vez de un conjunto de metodos minimos que permitan combinandolos realizar todas las acciones posibles sobre un objeto, se implementan metodos sin consuelo con multiples variaciones innecesarias y en muchos casos sin conseguir cubrir todas las posibilidades de uso.
Re:¿Y que tal wxwidgets?
(Puntos:0)- Está programada de forma muy elegante y el código al que conduce tiende al buen gusto.
- En un desarrollo constante y continuado (aunque por ello también está cojo en algunos aspectos por falta de "madurez").
- Diseño concienzudo (accesibilidad por teclado, temas, cambios de resolución, etc...)
- Bindings o enlaces a muchísimos lenguajes de programación.
- Totalmente libre en todas las plataformas y con un desarrollo abierto y no controlado por una sola empresa.
En relación a las otras plataformas "en competencia" opino:
- Qt, aunque resulta atractiva, tiene el grave problema de que no resulta una opción factible en Hasefroch Window$ como plataforma para programas libres. Tiene a su favor que es muy completa y resulta muy homogénea (bien diseñada).
- WxWidgets es horrorosamente fea tanto conceptualmente como desde el punto de vista del código al que conduce. Su sistema de señales, la sintaxis, los patrones de diseño elegidos y demás son al más puro estilo guarrete de las MFC, con uso obsceno del preprocesador y una orientación a objetos de la época del Cromañón, sin dejar de mencionar el mal gusto omnipresente. Tiene a su favor que es completa (porque si hace falta un control se hace, aunque sea con un mal diseño), muy usada (lo que la hace difícil de ignorar como alternativa), el uso de la plataforma nativa, y su orientación totalmente pragmática (fuente de sus males, por otro lado) de la que resulta difícil sustraerse si lo que se quiere es solucionar algo inmediatamente, sin plantearse qué pasará mañana...
Re:¿Y que tal wxwidgets?
(Puntos:2)( http://barrapunto.com/ )
- Qt, aunque resulta atractiva, tiene el grave problema de que no resulta una opción factible en Hasefroch Window$ como plataforma para programas libres. Tiene a su favor que es muy completa y resulta muy homogénea (bien diseñada).
</i>
En esto te equivocas; puedes usar programas libres enlazando con las Qt no-comerciales para Windows simplemente añadiendo una excepción a la GPL (como la del KVIrc3, por ejemplo) que simplemente diga:
Como excepción se permite a este programa enlazar contra las Qt no-comerciales (igual que al final enlazas con los widgets de windows que tampoco son libres.)
Trolltech permite esto (si dudas, pregúntales) y yo lo he explicado como un trillón de veces en barrapunto :) Los que tienen el problema son los que quieran hacer aplicaciones comerciales pero no pagar los 1350€ (que no 500, como se ha dicho.)
Re:¿Y que tal wxwidgets?
(Puntos:2)( file:/etc/passwd | Última bitácora: Martes, 20 Octubre de 2009, 21:17h )
El problema es que a dia de hoy es la unica libreria portable que usa los widgets nativos de cada SO, y las aplicaciones creadas con la misma resultan mas coherentes con el resto del entorno.
En mis nuevos desarrollos me he pasado a Gtk+ y no hay color, mucho mas elegante (me refiero desde el punto de vista del programador) y consistente. Ademas su diseño esta pensado desde el principio para que pueda ser enlazado en otros lenguages (Python, Perl, etc.) y eso se nota.
wxWidgets por el contrario, esta orientada unicamente a ser utilizada desde C++ y aunque hay enlaces con otros lenguages estos distan bastante de ser perfectos. Como ejemplos, el manejo de memoria y las reglas sobre posesion y destruccion de los objetos son lamentables y no se pueden ocultar siempre en los lenguages de mas alto nivel como python.
Otro aspecto de wxWidgets que me hace desaconsejar su utilizacion es la falta de consistencia en sus clases y sus metodos. En general en vez de un conjunto de metodos minimos que permitan combinandolos realizar todas las acciones posibles sobre un objeto, se implementan metodos sin consuelo con multiples variaciones innecesarias y en muchos casos sin conseguir cubrir todas las posibilidades de uso.