Gnome: Desarrollo de aplicaciones. Construyendo una nueva aplicación
Arrancamos el desarrollo de una app GNOME en Vala: un lector de feeds RSS con arquitectura MVVM, uso de VAPI para bindings y un sistema de extensiones
Gnome: Desarrollo de aplicaciones. Menús y acciones
En este punto tenemos lo que podríamos llamar la base de nuestra aplicación. Sobre esta base vamos a desarrollar una funcionalidad que le dé un sentido y una utilidad a nuestra aplicación. No es intención de esta serie de artículos realizar una aplicación demasiado compleja pero sí ver las opciones que tenemos disponibles para poder desarrollar una app en Gnome sin terminar calvos como yo.
Objetivos
Objetivos
El objetivo de esta aplicación será un lector de feeds de noticias. En un principio solo vamos a tener un parser para rss 2.0 que es el formato más común de feeds de noticias. Para vala en un principio tenemos libxml2 y soap para leer xmls pero esto lo veremos más adelante en la sección vapi
MVVM
Quien desarrollase alguna aplicación con Kotlin para Android es más que probable que escuchase hablar de este modelo. Model-View-ViewModel es básicamente un MVC (Model View Controller) con una pieza intermedia que se llama ViewModel que se encarga de realizar las operaciones entre el Modelo y los servicios (repositorios) de los que disponga. De esta manera nuestros modelos van a carecer de toda lógica y los servicios o repositorios no tienen que saber nada de los modelos.
Por otro lado Vala no dispone de un framework como Retrofit para convertir interfaces en llamadas a repositorios pero veremos si podemos hacer algo similar con libsoup.
VAPI
VAPI (Vala API) en Gnome es una colección de archivos de definición de API que permiten a los programas escritos en Vala acceder fácilmente a las bibliotecas de Gnome y de otros proyectos de GLib/GObject. Estos archivos describen clases, métodos, propiedades y señales de las bibliotecas para que el compilador de Vala pueda generar automáticamente el código necesario para utilizarlas, facilitando así el desarrollo de aplicaciones Gnome de forma más sencilla y segura.
En esta aplicación, que por el momento es totalmente innecesario, vamos a ver un ejemplo de VAPI para entender que es y como funciona.
Extensiones
Las extensiones son componentes adicionales que permiten ampliar o modificar sus funcionalidades sin necesidad de cambiar directamente el código principal de la aplicación. Pueden añadir nuevas herramientas, integraciones, opciones de personalización o funcionalidades específicas, facilitando que la aplicación se adapte a diferentes necesidades y usuarios. Esto nos va a permitir ampliar la funcionalidad de nuestra aplicación sin muchos quebraderos de cabeza.
Artículos recientes
Artículo
Gnome: Desarrollo de aplicaciones. Pango
04/09/2026
Artículo
Gnome: Desarrollo de aplicaciones. VAPI
03/09/2026
Artículo
Gnome: Desarrollo de aplicaciones. MVVM
15/08/2026
Artículo
Linux: Guía de iniciación a Linux
08/08/2026
Noticia
Wayland
08/08/2026
Artículo
Gnome: Desarrollo de aplicaciones. Menús y acciones
08/08/2026