Ingeniería, Ciencia, Arte y Negocio

by Jose María Gómez

Gtk+ vs Qt

Esto es un tema recurrente y la verdad es que no pretendo convencer a nadie sobre las virtudes o defectos de ninguna de estas librerias gráficas. Entre otras cosas porque no tengo los conocimientos suficientes sobre ninguna de las dos. Ya sé, antes de que alguien envie un comentario sobre mi ignorancia que en realidad Qt es mucho más que unas simples librerías gráficas. Son  también unas librerías para acceder a bases de datos, para funcionalidades de red y para varias cosas más (XML, WebKit, …) pero en este post me voy a centrar en la parte de las Qt que están pensadas para el diseño de interfaces de usuarios.

Con Qt tengo alguna experiencia. He hecho alguna que otra aplicación pequeña con estas librerias y he de decir que tienen muy buena pinta y son realmente intuitivas. Tienen además muy buena documentación, lo cual se agradece mucho cuando empiezas. Sin embargo hay varias razones por las que ahora he decidido probar con Gtk+. Por un lado está la curiosidad que tengo por ver cosas nuevas y que me lleva a no focalizar nunca. Este es un problema que tengo y lo sé. Y por otro lado es el interés repentino que me ha surgido por Gnome.

Aparte de estas dos razones fundamentales, hay otra más, su licencia. Quiero tener mi propia empresa algún día y me gustaría poder utilizar una librería que no me obligara a nada. Ya sé que Qt es GPL v2 y que eso significa el máximo de libertad. Al menos ese es el significado que le da la free software foundation con la que colaboro manteniendo el paquete programa DDD. Sin embargo, esa libertad es una libertad forzada. Es como si cuando tienes 18 años, no sólo te dan la libertad de volver de juerga a las 6 de la mañana si no que además te obligan a que no vuelvas antes de esa hora porque la puerta estará cerrada. Las obligaciones, aunque sean de libertad, hacen que tengas una libertad a medias.

La licencia de Gtk+ es LGPL lo que me permitiría desarrollar software y no liberar el código fuente. A día de hoy, mi intención es liberar el código de mis aplicaciones, pero mi intención también es ganar dinero con la empresa que algún día tendré. En función de las diferentes posibles lineas de negocio que en su momento tenga posibilidad de hacer, decidiré en ultima instancia que hacer con mi código.

Soy un ferviente seguidor del software libre, y a pesar de que en algún momento pueda cerrar código de mis aplicaciones, me comprometo a seguir colaborando con el software libre, liberando otro software o algunas librerias.

Ya se que Qt también me permite hacer software no libre, pero, los recursos de las empresas que empiezan son escasos, y si quiero gozar de todas las ventajas de Qt tendría que comprar al menos 3 versiones para 3 plataformas lo que me dejaría fuera del presupuesto por mucho.

Gtk+ está hecha en C y a mi me gusta C++, pero también parece ser que está hecho en C pero con C++ en la cabeza. Y como un día le oí decir a Alan Cox (que sabe bastante del tema) la programación orientada a objetos no está en el lenguaje, está en tu cabeza.

Voy a dedicar unos meses en hacer algo con Gtk+ para poder decidir con cual de las dos quedarme. Tengo que focalizar, lo sé, pero no me gustaría focalizar en el foco equivocado, y sinceramente, por muchos foros que leo del tipo gtk vs qt, no me queda claro cual es la más apropiada para mis intereses porque en la mayoría de estas discusiones aparecen comentarios subjetivos en función de otros factores que no me interesan.

Ya os contaré cual ha sido mi decisión final y también las razones que me llevan a ella y que por supuesto no tienen por qué ser las mismas que las que os lleve a vosotros a elegir la otra.

No comments