gtkmm

gtkmm es un envoltorio de C++ para GTK+, una biblioteca usada para crear interfaces gráficas de usuario. Esta liberado bajo la licencia LGPL, para que pueda desarrollar software abierto, software gratuito o software comercial usando gtkmm sin comprar ninguna licencia.

gtkmm fue originalmente llamado gtk-- debido a que GTK+ ya tenía el signo + en el nombre. Sin embargo, debido a que -- no puede ser indexado fácilmente en los motores de búsqueda, el paquete fue generalmente llamado gtkmm, y eso fue con lo que nos quedamos.

1.2.1. ¿Por qué usar gtkmm en vez de GTK+?

gtkmm le permite escribir código usando técnicas normales de C++ tales como encapsulación, derivación y polimorfismo. Como programador de C++, probablemente ya se habrá dado cuenta de que esto conlleva a un código más limpio y mejor organizado.

gtkmm es más seguro, por lo que el compilador puede detectar errores que sólo pudieran detectarse durante ejecución al usar C. Este uso de tipos específicos también hace la API más limpia debido a que puede ver qué tipos deberían usarse con sólo mirar la declaración de un método.

Se puede hacer uso de herencia para derivar nuevos widgets. Derivar nuevos widgets en código C GTK+ es tan complicado y propenso a errores que casi ningún codificador de C lo hace. Como programador en C++ usted sabe que la derivación es una técnica orientada a objetos esencial.

Pueden usarse instancias de miembros, simplificando la gestión de memoria. Todos los widgets C GTK+ son tratados usando punteros. Como programador en C++ usted sabe que los punteros deben evitarse siempre que sea posible.

gtkmm implica menos código en comparación con GTK+, el cual usa nombres de funciones prefijadas y muchos macros.

1.2.2. gtkmm comparado con Qt

Qt de Trolltech es el competidor más cercano de gtkmm, por lo que merece discusión.

Los desarrolladores de gtkmm tienden a preferir gtkmm antes que a Qt porque gtkmm es funcionalmente similar a C++. Qt se originó en un momento en que C++ y la biblioteca estándar no estaban estandarizados o bien no contaban con un buen soporte de los compiladores. Es por ello que en la actualidad se encuentran mucho material duplicado en la biblioteca estándar, tales como contenedores e información de tipo. Lo más relevante es que Trolltech ha modificado el lenguaje C++ para proporcionar señales, por lo que las clases de Qt no se pueden utilizar fácilmente con clases de otras bibliotecas. gtkmm fue capaz de utilizar C++ estándar para proporcionar señales sin necesidad de cambiar el lenguaje C++. Consulte las preguntas frecuentes para conocer las diferencias de manera detallada.

1.2.3. gtkmm es un envoltorio

gtkmm no es un kit de herramientas nativo de C++, pero si es un envoltorio C++ de un conjunto de herramientas de C. Esta separación de la interfaz e implementación tiene sus ventajas. Los desarrolladores de gtkmm pasan la mayor parte de su tiempo hablando sobre cómo gtkmm puede presentar una API lo mas clara posible, sin compromisos incómodos debido a oscuros detalles técnicos. Nosotros contribuimos un poco a al código fuente subyacente de GTK+, pero también lo hacen los programadores de C, los programadores de Perl, los programadores de Python, etc. Por ello, GTK+ se beneficia de una base de usuarios de mayor proporción que el lenguaje de herramientas específicas; hay más desarrolladores, más personas que prueban software en desarrollo, y más usuarios.