1. La plataforma de desarrollo GLib/GTK
  2. Introducción
    1. ¿Qué es GLib y GTK?
    2. El escritorio GNOME
    3. Prerrequisitos
    4. ¿Por qué y cuándo se usa el lenguaje C?
      1. Separación de backend del frontend
      2. Otros aspectos a tener en cuenta
    5. Ruta de aprendizaje
    6. El entorno de desarrollo
    7. Instalación
      1. Linux
      2. Windows
      3. Mac
  3. GLib, la biblioteca principal
  4. GLib, la biblioteca principal
    1. Lo esencial
      1. Definiciones de tipo
      2. Macros de uso frecuente
      3. Macros de depuración
      4. Memoria
      5. Manejo de string
    2. Estructura de datos
      1. Listas
      2. Árboles
      3. Tablas hash
    3. El bucle del evento principal
    4. Otras características
  5. Programación orientada a objetos en C
  6. Programación semi-orientada a objetos en C
    1. Ejemplo de encabezado
      1. Espacio de nombres del proyecto
      2. Espacio de nombres de clase
      3. ¿Minúsculas, Mayúsculas o CamelCase?
      4. Incluir guardia
      5. Soporte de C++
      6. #include
      7. Definición de tipo
      8. Constructor de objetos
      9. Destructor de objetos
      10. Otras funciones públicas
    2. El archivo *.c correspondiente
      1. Orden de #include
      2. Comentarios de GTK-Doc
      3. Anotaciones de introspección de GObject
      4. Funciones estáticas vs funciones no estáticas
      5. Programación defensiva
      6. Estilo de codificación
  7. Una suave introducción a GObject
    1. Herencia
    2. Macros de GObject
    3. Interfaces
    4. Recuento de referencias
      1. Evitar ciclos de referencia con referencias débiles
      2. Referencias flotantes
    5. Señales y propiedades
      1. Conexión de una función de devolución de llamada a una señal
      2. Desconexión de controladores de señales
      3. Propiedades
  8. GTK
  9. Ejemplo de una arquitectura de código de aplicación GTK
    1. La función main() y GeditApp
    2. GeditWindow
    3. GeditNotebook y lo que contiene
    4. ¿Por qué y cuándo crear subclases de widgets GTK?
    5. Widgets compuestos
  10. Lectura adicional
  11. Lecturas adicionales
    1. GTK y GIO
    2. Escribir sus propias clases de GObject
    3. Sistema de compilación
      1. Las Autotools
      2. Meson
    4. Mejores prácticas de programación
  12. Bibliografía