GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué debo elegir:GTK+ o Qt?

Como parece que apunta principalmente a Linux, entonces la elección depende principalmente del lenguaje de programación que desea usar.

Si codificas en C, obviamente elige GTK+

Si codifica en C++, elija Qt; de lo contrario, necesitará Gtkmm (un contenedor de C++ sobre GTK+)

Si codifica en Python, tanto GTK+ como Qt tienen enlaces para el lenguaje:consulte PyGtk, PyQt y PySide (el lanzado por Nokia).

Si codifica en Java, Qt ya no es una opción viable en mi humilde opinión, ya que Nokia descontinuó Qt Jambi (los enlaces de Java para Qt).

Además, Qt es más de primer nivel con respecto a su API QGraphicsScene de escenarios, su motor de secuencias de comandos creado sobre Javascript Core (el motor que impulsa WebKit), su máquina de estado y marco de animaciones, y la interfaz de usuario declarativa.

GTK+ no ofrece mucho, aunque puede usar Clutter junto con él.

Si está investigando específicamente funciones de base de datos, XML (GTK+ tiene un analizador para un subconjunto de XML) y subprocesos (GTK+ tiene GLib), entonces Qt ofrecerá todo eso en QtSql, QtXml y QtConcurrent.

Con todo, diría que Qt es una opción segura. Pero GTK+ también es muy capaz.

No estoy seguro de que obtenga una respuesta clara a su pregunta, lo que explica por qué algunas personas siguen prefiriendo Gnome a KDE o viceversa. Elige lo que funcione mejor para ti.

PD:Si planea apuntar también a Symbian, luego opte por Qt.

EDITAR:Algo que también es genial con Qt es QtWebView :trae Chromium a su aplicación Qt para mostrar contenido web. Otros están incorporando contenido web en su aplicación utilizando, por ejemplo, Awesomium o Berkelium.


He usado GTK+, QT y wxWidgets antes. He aquí un breve resumen:

Para mi primer proyecto de interfaz de usuario multiplataforma, decidí optar por wxWidgets principalmente porque en ese momento la licencia no era tan restrictiva como la de QT (QT era GPL y solo para Linux) y tenía una interfaz de usuario específica de la plataforma (a diferencia de GTK). El proyecto funcionó bien, pero hubo bastantes problemas técnicos para compilarlo y ejecutarlo correctamente en otras plataformas; a veces, algunos eventos se iniciaron de manera diferente y cosas por el estilo. Además, GDI en wxWidgets era bastante lento.

Luego usé GTK para un proyecto diferente en python. Para esto usé los enlaces de python y todo salió más o menos fluido. No me gustó mucho el hecho de que la interfaz de usuario no se veía nativa en Windows y Mac y, además, cuando inicias una aplicación GTK+, siempre depura y genera un montón de advertencias CRÍTICAS que parece correcto ignorar. :S

Finalmente, hice un proyecto QT muy simple ahora que Nokia lo adquirió y fue brillante. El mejor de los tres. En primer lugar, si no eres un estudiante de la vieja escuela que prefiere VI o Emacs, QtCreator es brillante. Realmente amo VI y lo usé durante años, pero prefiero QtCreator para proyectos C++ QT. En cuanto a la biblioteca también me gustó mucho la documentación y las API proporcionadas. QT tiene un concepto de ranuras y señales que introducen nuevas palabras clave de C++ y un preprocesador. Básicamente, después de leer un tutorial lo entenderás fácilmente y comenzarás a amarlo. Ahora estoy haciendo desarrollo de iPhone y se parece un poco al paradigma de interfaz de usuario de Cocoa/Interface Builder.

Resumen:iría por QT sin duda alguna. La licencia es bastante buena y el SDK y la documentación son realmente buenos.


Linux
  1. Temas de sonido en Linux:Lo que todo usuario debe saber

  2. Apache vs Nginx:qué servidor web debe elegir

  3. C++:¿qué biblioteca de expresiones regulares debo usar?

  4. ¿Cuáles deberían ser los permisos de directorio de inicio ideales en Linux?

  5. Ubicar y actualizarb no funciona. ¿Qué tengo que hacer?

¿Qué sabor de Ubuntu debería elegir?

Las 20 razones principales por las que debería elegir un servidor Linux

¿Qué es un Homelab y por qué debería tener uno?

¿Qué es Zsh? ¿Deberías usarlo?

¿Qué distribución alternativa de CentOS debería elegir?

¿Debo elegir un servidor Linux o Windows?