Programación con Genie: AgenDie

agendie256

AgenDie es un proyecto personal de un directorio para organizar contactos. Como tal, dispone de las funciones básicas de cualquier libreta de direcciones: añadir, eliminar, editar y buscar contactos. También permite importar contactos desde un archivo vCard.

Se trata de una aplicación escrita en Genie, un lenguaje de programación injustamente ignorado e inexplorado.

Por situarnos, Genie es un lenguaje de programación derivado de Vala cuya sintaxis se asemeja a numerosos lenguajes modernos como Python, Boo, D y Delphi. Apareció en 2008 diseñado por Jamie McCracken y continúa desarrollado y promovido desde el proyecto GNOME. A fecha de este post, se ha publicado su última versión estable (0.34.2) en octubre de 2016 bajo licencia LGPL 2.1+ .

Según algunos autores, Genie preserva la funcionalidad del lenguaje Vala al mismo tiempo que ofrece una sintaxis más simple y limpia (tipo Python). Una forma simplificada (todavía más que Vala) de escribir código C que permite el desarrollo de software multiplataforma.

Así se consigue un lenguaje más fácil de escribir y de leer que Vala (como Python), y al mismo tiempo, como Vala, permite el acceso a las bibliotecas de C y es capaz de crear y utilizar GObjects de forma nativa sin imponer requisitos adicionales de tiempo de ejecución (es decir, a diferencia de Python, Java o Mono, Genie no requiere una máquina virtual).

En definitiva, un lenguaje compilado más rápido y eficiente que los lenguajes interpretados pero con una estética similar a ellos que facilita su aprendizaje.

Con el objetivo de divulgarlo nace Genie Doc, una wiki en castellano sobre este lenguaje de programación. Aunque inicialmente esta Wiki se desarrolló para uso personal con intención de servir de referencia y organizar los apuntes recopilados sobre Genie, actualmente está sirviendo para divulgar este lenguaje de programación y como apoyo a quienes empiezan a escribir sus primeras líneas de código con Genie.

Uno de los primeros frutos de esta Wiki es AgenDie, una aplicación que recrea una agenda de contactos. Como tal, dispone de las funciones básicas de una libreta de direcciones o directorio para organizar contactos: añadir, eliminar, editar y buscar contactos.

Algunas de las funciones y características de AgenDie son:

  • Crear, editar y eliminar contactos.
  • Contactos definidos por varios campos: nombres, apellidos, avatar, varios teléfonos y mails, web, categoría, dirección, notas.
  • Función de búsqueda por nombre y apellidos y por categoría.
  • Busca duplicados.
  • Permite importar contactos desde vCard (versión >= 3.0), soportando la imagen del contacto.
  • Permite hacer copia de seguridad.
  • Permite crear distintas agendas para distintos usuarios.

AgenDie

Se trata de un proyecto en una fase inicial de desarrollo, en el que el autor de la Wiki pone en práctica algunos de los contenidos allí expuestos, y en particular la interfaz gráfica Gtk, la base de datos SQLite y las listas, entre otros.

Desde la web del proyecto, publicado en Launchpad, se puede obtener el código y descargar un paquete deb para instalar. Desde allí se pueden seguir los progresos de la aplicación y aportar sugerencias e ideas para mejorarlo.

Recientemente se ha publicado la versión 0.0.8 con importantes mejoras. El autor agradece cualquier colaboración que le remita información sobre bugs o sugerencias para mejorar la aplicación.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s