Introducción
Lo cierto es que llevo unos días desarrollando Equival en Vala, sobre lo que escribí el otro día en el artículo “Desarrollo de aplicaciones para Ubuntu con Vala“, y estoy sensiblemente alterado, o mas bien emocionado, por dos aspectos. Por un lado, lo fácil que ha sido pasar de Python a Vala, prácticamente sin ningún tipo de sufrimiento y por otro por el reducido consumo de recursos y la velocidad de Equival, aunque esto último era de esperar.Aunque me he encontrado con algunos problemas. Por un lado localizar una IDE que facilitara el desarrollo de aplicaciones, por otro, empaquetar aplicaciones de una forma relativamente sencilla para Ubuntu, y por último, la traducción de las aplicaciones a diferentes idiomas…
En este segundo artículo referente al desarrollo de aplicaciones en Vala para Ubuntu, me centraré en el Entorno de Desarrollo Integrado, en particular en Anjuta.
Anjuta
Anjuta DevStudio es un entorno de desarrollo que tiene implementado una serie de herramientas y facilidades* para el desarrollo de aplicaciones. Algunas de estas herramientas o características, son las siguientes:- gestión de proyectos
- asistente de aplicaciones
- depurador interactivo
- editor de código fuente
- control de versiones
- diseñador de interfaces gráficos
No se circunscribe únicamente a Vala, sino que soporta otros lenguajes de programación como C, C++, Java, Python.
El interfaz
Anjuta está organizado por paneles que se pueden organizar a gusto del usuario, de forma que puedes organizarlo con tan solo arrastrar y soltar. Pero además, cada disposición es particular para cada proyecto concreto, de forma que puedes tener tantas disposiciones como proyectos.Complementos
Anjuta es extensible con complementos, es mas, prácticamente todas las características de Anjuta están desarrolladas utilizando complementos que se pueden habilitar o inhabilitar de forma dinámica, de forma que puedes elegir que complementos están activos para cada uno de tus proyectos.Anjuta está desarrollado en C, de forma que el desarrollo de la aplicación así como los complementos se pueden extender utilizando la API que también está disponible en C. Por otro lado, se están desarrollando enlaces para poder extender Anjuta con C++ y Python.
Gestión de archivos
El gestor de archivos integrado en Anjuta se comporta de una forma similar a un gestor de archivos típico con una vista de árbol. Anjuta lista todos los directorios y archivos del proyecto en curso.Al hacer doble clic sobre un archivo se abrirá o bien en Anjuta si existe algún complemento capaz de trabajar con el archivo, o bien desde una aplicación externa. Además, un archivo puede ser abierto con otras aplicaciones o complementos desde el menú contextual, donde pobrás ver todos los complementos y aplicaciones que son capaces de trabajar con él.
Además el menú contextual del gestor de archivo, lista todas las acciones asociadas con otros complementos, como pueden ser las acciones referentes al sistema de control de versiones, o las referidas a la construcción del proyecto.
Gestión de proyectos
Anjuta tiene un potente gestor de proyectos capaz de abrir cualquier proyecto basado en automake/autoconf, salvo quizás, proyectos muy antiguos.Dado que Anjuta no guarda información del proyecto mas allá de la propia estructura del mismo, este puede ser mantenido desde el Anjuta o sin necesidad de éste. De hecho, los proyectos de Anjuta son simplemente proyectos de automake.
La ventana de gestor de proyectos muestra la jerarquía organizada en grupos de objetivos. Los grupos corresponden a los directorios del proyecto y los objetivos equivalen a los objetivos de automake.
Asistente de proyectos
Anjuta tiene un complemento que funciona como asistente de proyectos y que utiliza una potente y conocida plantilla, “autogen“. El asistente permite crear proyectos nuevos de una selección de plantillas. Esta selección incluye proyectos genéricos GTK+, GNOME, Java, Python, y mas. Se pueden descargar e instalar mas plantillas de las que trae por defecto Anjuta, ya que tal y como he comentado, al fin y al cabo, las plantillas no son otra cosa que una colección de archivos de texto.Editor de código
Anjuta dispone actualmente de dos editores de código, el clásico basado en Scintilla y el nuevo basado en GtkSourceView. Salvo por pequeas diferencias, ambos son igualmente funcionales, y se pueden utilizar de forma indistinta, ya depende de tus gustos a la hora de escribir código. Algunas de las características del editor son las siguientes:- Resaltado de sintaxis. Como no podía ser de otra forma el editor soporta esta característica para casi todos los lenguajes de programación. De cualquier forma para los nuevos lenguajes, es posible añadir esta característa.
- Sangrado inteligente. El código es sangrado de forma automática, conforme tu escribes código y de acuerdo a la configuración de sangrado que hayas establecido. Esta característica solo está disponible para C y C++.
- Autosangrado. El editor puede sangrar la línea en curso o una selección de líneas de acuerdo a la configuración.
- Numeración de lineas.
- Autocompletado de código.
- Ayuda para el uso de funciones.
- Guías de sangrado.
- Etiquetas.
- Búsqueda incremental.
- …
Diseño de interfaces Glade integrado
Anjuta tiene integrado Glade, que permite la creación y diseño de interfaces gráficos, a nivel de ventanas y cuadros de diálogo. Los archivos de Glade se pueden editar de forma directa con Anjuta, de forma que cuando se abre o se crea un archivo de este tipo, el complemento Glade se inicia de forma automática, mostrando la vista de diseño, paletas, el editor de propiedades, y todas las características relacionadas con este tipo de archivos.Instalación
Anjuta se encuentra en los repositorios oficiales de Ubuntu, con lo que su instalación es muy sencilla. O bien puedes instalarlo desde el Centro de Sofware de Ubuntu haciendo clic en Anjuta o bien, desde un terminal:
sudo apt-get install ajuta
Conclusiones
Todavía no me he terminado de acostumbrar a la “rigidez” de autogen, puesto que como he comentado, los últimos desarrollos los he realizado en Python, y aunque siempre parto de proyectos anteriores, para facilitarme la creación de paquetes para Ubuntu, la cosa está mas descontrolada…En el caso de Anjuta, me tenía preocupado el tema de los paquetes Debian, sin embargo, y dado que utiliza autogen el funcionamiento es muy sencillo, y solo tienes que añadir la correspondiente carpeta debian, configurada convenientemente para que todo funcione como toca.
Solo me queda resolver el asunto de la internacionalización de aplicaciones, pero esto es harina de otro costal y la dejaré para mas adelante…