← Volver a los artículos

Gnome: Desarrollo de aplicaciones. Estructura de ficheros

Artículo Desarrollo Gnome

Como se estructura una aplicación Gnome y para que funciones tienen los ficheros en las aplicaciones Gnome

Aunque la estructyura de ficheros y directorios de una aplicación de Gnome viene definida por Meson existen unas convecciones que suelen usarse por la mayoría de desarrollos que se hacen. 

Una app convencional tendría una estructura de ficheros similar a esta:

app-chachi/
├── data/
│   ├── icons/
│   │   ├── hicolor/
│   │   └── scalable/
│   ├── ui/
│   │   ├── main-window.ui
│   │   ├── preferences.ui
│   │   └── about.ui
│   ├── com.ejemplo.AppChachi.desktop.in
│   ├── com.ejemplo.AppChachi.metainfo.xml.in
│   ├── com.ejemplo.AppChachi.gschema.xml
│   ├── com.ejemplo.AppChachi.service.in
│   └── meson.build
│
├── po/
│   ├── LINGUAS
│   ├── es.po
│   ├── en.po
│   ├── POTFILES.in
│   └── meson.build
│
├── src/
│   ├── application.vala
│   ├── appchachi.gresource.xml
│   ├── main.vala
│   └── meson.build
│
├── tests/
│   ├── test_app.vala
│   └── meson.build
│
├── com.ejemplo.AppChachi.json
├── meson.build
├── README.md
└── COPYING


En el root del directorio de nuestra aplicación se suelen incluir los siguientes ficheros y directorios:
Directorio/archivoDescripción
meson.buildFichero main de meson para la construcción de la aplicación

README, COPYING


COPYING contiene la licencia bajo la que se desarrolla la aplicación y README suele contener las instrucciones de uso y el objetivo de la aplicación para los desarrolladores y usuarios.
data/Contiene los recursos estáticos, xml de la ui (xmls), definición para el icono de escritorio, metainformación de la aplicación, schema de configuración y las configuraciones del Dbus (Esto del Dbus necesita una explicación más o menos larga). 
po/Contiene los recursos estáticos, xml de la ui (xmls), definición para el icono de escritorio, metainformación de la aplicación, schema de configuración y las configuraciones del Dbus (Esto del Dbus necesita una explicación más o menos larga
src/En este directorio se hubica el codigo fuente de nuestra aplicación. Aquí si que podemos tener un poco más de libertad para organizar nuestro código en subdirectorios ya que, como veremos más adelante, Meson nos va a permitir organizar nuestro código como mejor nos convenga para tener una mejor legibilidad y mantenimiento.
com.example.AppChachi.jsonEs un directorio opcional ya que, normalmente, el json de flatpak se suele hubicar en el root de la aplicación.
Cuando entremos en el desarrollo de la aplicación veremos de forma más amplia para que sirven estos ficheros que hemos descrito de forma muy genérica aquí. 


En el próximo artículo de esta serie veremos como iniciar una aplicación y, en más detalle, para que sirven todos estos ficheros.
Gnome: Desarrollo de aplicaciones. El punto de partida