Reflexion sobre el desarrollo de interfaces gráficas en GNU/Linux

Hola a tod@s

Hoy me ha dado por reflexionar acerca del desarrollo de aplicaciones para GNU/Linux ya que tengo algún que otro proyectillo personal en mente para realizar. El caso es que me he puesto a leer un poco del tema, que si QT, que si GTK, WXwidget y he acabado un poco sin saber que utilizar.

Todo parece que ahora en el mundillo linux se esta orientando todo hacia desarrollo en QT (ubuntu deja gtk por qt, lxde se marcha a qt...)
La miga del asunto esta en que si comparamos con otros sistemas, linux no tiene una librería base en la que empezar a desarrollar directamente (independientemente del entorno de escritorio).
La cosa es que viendo el origen de cada librería (en cuanto licencia) y su repercusión en GNU/Linux, quizás la librería base debería de ser GTK y no QT, que es a lo que se esta tirando.
Creo que seria mucho mas accesible el hacer apps para GNU/Linux si se tiene una librería a la que el desarrollador tire directamente, no que se tenga que ver pros y contras de cada una y luego darle caña

Que opinais??

PD: Que conste que no pretendo que sea un GTK vs QT, ya que uno son librerías y otro un framework completo.
Desde el punto de vista del usuario:

A mi nunca me gustó QT. Tiene un look que recuerda a KDE, muy glossy todo, muy... no sé... no me gusta...

Me gustan más las aplicaciones GTK. Me parece un entorno más cuidado. Aunque es cierto que últimamente se están acercando bastante y ya no hay tanta diferencia.

Y además, una aplicación QT en un entorno GTK se ve horrible. Y viceversa.
h3v0rr1ll0 escribió: no que se tenga que ver pros y contras de cada una y luego darle caña

Que opinais??


Esa es una de las grandezas del software libre, la posibilidad de elegir entre varias opciones.


PD: las aplicaciones qt se ven bien en entornos gtk al igual que las gtk en entornos qt, solo hay que bajarse un buen tema y el programa que lo aplica, por ejemplo qtconfig.
Moki_X escribió:Desde el punto de vista del usuario:

A mi nunca me gustó QT. Tiene un look que recuerda a KDE, muy glossy todo, muy... no sé... no me gusta...

Me gustan más las aplicaciones GTK. Me parece un entorno más cuidado. Aunque es cierto que últimamente se están acercando bastante y ya no hay tanta diferencia.

Y además, una aplicación QT en un entorno GTK se ve horrible. Y viceversa.


Eso depende de como tengas tu configuración. Pero se puede hacer apaños para que se vean igual

ejemplo gtk:
Imagen

ejemplo qt:
Imagen
A mí las apps QT siempre se me han visto perfectas en entornos GTK si lo configuras para usar el theme de GTK, al contrario que las apps Gtk en entornos QT, que debes usar un tema específico que "emule" .

La ventaja de QT es que no es solo una librerías gráfica, si no un framework completo (acceso a ficheros, sockets, hilos, canvas, OpenGL...) y permite crear apps multiplataforma, incluyendo IOS y Android en las últimas versiones.

El porqué no hay una librería estándar se explica perfectamente en esta viñeta de XKCD

Imagen
Qt (no QT) es sencillamente genial.
Es potentisimo, sencillo, con grandes herramientas, multiplataforma, y, digan lo que digan los mitos de hace 20 años, es LIBRE y mantenido por una buena comunidad.

http://qt-project.org/

No tiene ningun "look", el look se lo das tu usando el tema que quieras. Qt sabe adaptarse muy bien al entorno, sea Plasma, sea Gnome, XFCE o PepitoDE, cosa que GTK no puede decir. GTK 3.x, ademas, esta ya intimamente ligado con Gnome, perdiendo su independencia a gran velocidad.

En fin, que a todos los que os creeis todos los mitos tontos que hay entorno a Qt (y a Plasma, pero bueno, eso es otro tema), os diria que os informeis en condiciones, y aprendais por vosotros mismos. Leer blogs que siguen repitiendo las chorradas de hace 15 años no os ayuda.

P.D.- Bibliotecas, no librerias.
Se está migrando a Qt simplemente porque es superior a GTK.

Y el look no tiene nada que ver con el framework que uses. Hay aplicaciones hechas con Qt para Linux, Windows, Mac OS, smartphones, etc...y estétitcamente no se parecen en nada.
Como todo, el aspecto es solo themes, graficos, cosas faciles de adaptar practicamente.

Estandarizacion, como bien has dicho, todos quieren tener un standar, todos quieren ser el mejor y todos tienen distintas opiniones que hace pasar de uno a otro o incluso crear uno nuevo.

Esto no solo pasa en el desarrollo de interfaces, también en distros, webs, etc.

Sinceramente, los estandares son buenos, pero el no tener competencia que te haga mejorar nunca sera bueno (gnome-shell no hubiera nacido por ejemplo sino fuera por KDE4 por ej).
h3v0rr1ll0 escribió:La cosa es que viendo el origen de cada librería (en cuanto licencia) y su repercusión en GNU/Linux, quizás la librería base debería de ser GTK y no QT, que es a lo que se esta tirando.

Si tus argumentos en favor de GTK son mirar las licencias originales de cada una está todo dicho... Qt es superior, así de sencillo.
Moki_X escribió:Desde el punto de vista del usuario:
[...]
Me gustan más las aplicaciones GTK. Me parece un entorno más cuidado. Aunque es cierto que últimamente se están acercando bastante y ya no hay tanta diferencia.


Me autocito, que parece que sólo se lee lo malo.

Es cierto que Qt ha mejorado muchísimo. Antes, Qt se asociaba a KDE. Y hace unos cuantos años, la mayoría de aplicaciones programadas se veían mal fuera de un entorno KDE. Esto es un hecho.

Ahora eso ya no pasa.
Moki_X escribió:
Moki_X escribió:Desde el punto de vista del usuario:
[...]
Me gustan más las aplicaciones GTK. Me parece un entorno más cuidado. Aunque es cierto que últimamente se están acercando bastante y ya no hay tanta diferencia.


Me autocito, que parece que sólo se lee lo malo.

Es cierto que Qt ha mejorado muchísimo. Antes, Qt se asociaba a KDE. Y hace unos cuantos años, la mayoría de aplicaciones programadas se veían mal fuera de un entorno KDE. Esto es un hecho.

Ahora eso ya no pasa.


Pero es que no tiene sentido lo que dices. Si yo hago una aplicación con Qt y uso librerías de KDE para hacer que se integre bien en ese entorno, no se verá tan bien fuera de él. Pero nada te impide crear una aplicación con un look de Mac OS.

Qt y GTK son herramientas, no estilos gráficos ni nada parecido.
Alecs7k escribió:Pero es que no tiene sentido lo que dices. Si yo hago una aplicación con Qt y uso librerías de KDE para hacer que se integre bien en ese entorno, no se verá tan bien fuera de él. Pero nada te impide crear una aplicación con un look de Mac OS.

Qt y GTK son herramientas, no estilos gráficos ni nada parecido.


En ese caso serían las bibliotecas (sí, Jan lleva razón) de KDE las que fallarían, no las de Qt. Aún así, las bibliotecas de KDE usan el estilo de Qt, así que se verán perfectamente, Yo he usado Calligra en entornos LXDE y Gnome y se ven perfectamente.
Yo aun asi prefiero GTK, pero ciertamente esta perdiendo la batalla a pasos agigantados.
lovechii5 escribió:Yo aun asi prefiero GTK, pero ciertamente esta perdiendo la batalla a pasos agigantados.


Si que es verdad.
Qt te da el framework y QtCreator un IDE sobre el que puedes usar las mismas bibliotecas y entorno de desarrollo para desarrollar aplicaciones con el mismo código bajo Linux, Windows y OS X (incluso Android/iOS).

En lo personal Qt es la opción en la que necesito invertir menos tiempo para llegarle al mayor número de personas con mis aplicaciones. Por cierto, ¿cual es problema con la licencia de Qt? Tiene lo mejor que se le pueda pedir con su sistema de triple licencia: GPLv3 para los amantes del software libre, LGPL para los que necesitan desarrollar software con licencias incompatibles con la GPL o propietarias y por ultimo una licencia comercial para que en tu empresa la puedan usar con total libertad sin tener problemas con tu código privado.
Yo aun asi prefiero GTK, pero ciertamente esta perdiendo la batalla a pasos agigantados.


Yo precisamente lei hace poco que los señores de gnome desarrollan las librerias GTK precisamente pensando en en gnome y su core de aplicaciones, sin tener en cuenta que la gente puede que las quiera usar para hacer aplicaciones multiplataforma y que se usen en varios entornos.

Yo reconozco que hace un tiempo era pro-gnome y aunque reconozco que los diseños de gnome 3.10 en adelante me encantan si que es cierto que GTK esta perdiendo la batalla

QT ahora es que es verdaderamente multiplataforma (con Qt 5 llegan a Android & IOS), rinde mejor y las aplicaciones se integran de maravilla en cualquier entorno....


Respecto a lo de las licencias reconozco estar un poco confundido, triple licencia? Si yo quiero hacer una aplicación que tenga parte libre y parte privada, tendría que pagar? Si alguien puede aclarar esto [+risas]
h3v0rr1ll0 escribió:Respecto a lo de las licencias reconozco estar un poco confundido, triple licencia? Si yo quiero hacer una aplicación que tenga parte libre y parte privada, tendría que pagar? Si alguien puede aclarar esto [+risas]


Hasta donde yo tengo entendido

GPL: Tu aplicación ha de ser totalmente libre y podrás distribuir binarios con Qt integrado lo que permitirá su uso sin necesidad de que el usuario final lo tenga instalado en su sistema. Un ejemplo sería VLC para Windows.

LGPL: Tu aplicación puede ser de código cerrado pero debe enlazar de forma dinámica las librerías Qt. Normalmente el usuario debe instalar Qt por su cuenta igual que si desarrollas en Java o en .Net tienen que instalar dichas herramientas. Como "truco" puedes añadir los dll de Qt en el instalador y que queden en la misma carpeta que tu binario. Un ejemplo es Droidtick (sé que no la conocéis, es una app mía, pero no me sé más [tomaaa] )

Comercial: Si tienes una aplicación cerrada pero no quieres "incordiar" al usuario pasas por caja y puedes incluir las bibliotecas Qt en el binario. Un ejemplo es Skype.
Si quieres, puedes usar esta libreria, ya que te ayudara mucho con el tema de las interfaces graficas.

http://goo.gl/UaxrFJ
Y se ha desarchivado esto 6 años y pico después por...?
Supongo que alguien lo habrá pedido [qmparto]
Lol como pasa el tiempo
21 respuestas