Acerca de Vala

valac, el compilador de Vala, es un compilador self-hosting (auto compilador) que traduce el código fuente de Vala en ficheros de codigo fuente y de cabeceras ( .h ) en lenguaje C. Utiliza el sistema de tipos de GObject para crear clases e interfaces declaradas en el código fuente de Vala.

La sintaxis de Vala es similar a la de C#, modificada para adaptarse mejor al sistema de tipos GObject. Vala soporta características de lenguajes modernos como las siguientes:

  • Interfaces
  • Properties
  • Signals
  • Foreach
  • Lambda expressions
  • Type inference for local variables
  • Generics
  • Non-null types
  • Assisted memory management
  • Exception handling
  • Type modules (Plugins)

Vala está diseñado para permitir el acceso a las librerias existentes de C, especialmente las librerias basadas en GObject , sin la necesidad de enlaces en tiempo de ejecución. Todo lo que se necesita para usar una libreria con Vala es un fichero API, que contiene las declaraciones de clases y métodos en la sintaxis de Vala. Vala actualmente viene con enlaces experimentales para GLib y GTK +. Está previsto ofrecer enlaces para toda la plataforma GNOME en una etapa posterior.

Utilizar clases y métodos escritos en Vala desde una aplicación escrita en C, no es difícil. La librería Vala sólo tiene que instalar los archivos de cabecera generados y las aplicaciones C pueden despues acceder a la API basada en GObject de la libreria Vala como de costumbre. También deberá ser posible de forma facil escribir un generador de enlaces para el acceso a librerías Vala de las aplicaciones escritas  por ejemplo en C#, tal como el parser de Vala está escrito como una librería, por lo que toda la información en tiempo de compilación está disponible cuando se genera un enlace.

¿Por de Vala?

Muchos desarrolladores quieren escribir aplicaciones y librerias de GNOME en lenguajes de programación de de alto nivel, pero no pueden o no quieren utilizar C# o Java, por diversas razones, por lo que están atrapados con C sin apoyo de sintaxis para el sistema de tipos GObject. El compilador de de Vala permite a los desarrolladores escribir código complejo orientado a objetos con rapidez manteniendo una API y un ABI de C estándar y manteniendo los requisitos de memoria bajos.

Las librerias de C# y Java no se pueden utilizar de la misma forma que la libreria nativa Gobjet desde C y otros lenguajes y no pueden ser aceptados como parte de la platafoorma Gnome. Las aplicaciones gestionadas también sufren de requisitos de memoria por lo general más altos los cuales no son aceptables en algunas situaciones.

valac produce ficheros fuente y de cabecera (.h) en C desde ficheros fuentes de Vala como si usted hubiera escrito su biblioteca o aplicación directamente en C. Usar una librería Vala desde una aplicación C no será diferente de usar cualquier otra libreria basada en GObject. No habrá una librería vala en tiempo de ejecución y las aplicaciones puede distribuir el código C generado con sus archivos tar, así que no hay períodos previos o adicionales o dependencias de tiempo de construccion para los usuarios.

Projects/Vala/Spanish/About (last edited 2014-03-17 17:43:18 by Cesar Cabrera Gonzalez)