YAML
Last updated
Was this helpful?
Last updated
Was this helpful?
YAML Ain't Markup Language
(YAML no es un lenguaje de marcado) fue propuesto por en el 2001 y diseñado junto a Ingy döt
Net y Oren Ben-Kiki.
Se trata de un lenguaje de declaración de datos que facilita la legibilidad y la capacidad de escritura del usuario. Este formato de serialización
se encarga de almacenar archivos de configuración y se puede usar junto con todos los lenguajes de programación.
Está inspirado en lenguajes del tipo XML, C, Python y Perl, así como en el formato de los .
En sus inicios, YAML quería decir Yet Another Markup Language
(otro lenguaje de marcado más) para distinguir su propósito centrado en los datos del marcado de documentos. Sin embargo, es XML
el que se usa frecuentemente para serializar datos y éste es un auténtico lenguaje de marcado de documentos, con lo cual, es razonable considerar YAML como un lenguaje de marcado ligero.
Hemos dicho que YAML es un formato de serialización pero ¿Qué es esto? pues se trata de un proceso de codificación de un objeto (hablando de programación orientada a objetos) en un medio de almacenamiento que puede ser un archivo o buffer de memoria para poder transmitirlo a través de una conexión en red en un formato más legible, como son o .
En resumen, la serialización
es un mecanismo para:
transportar objetos a través de la red,
hacer persistente un objeto en un archivo o base de datos
distribuir objetos idénticos a varias aplicaciones o localizaciones.
Entre las características o ventajas de un archivo YAML tenemos:
permite al usuario tener una mejor lectura de los datos y
facilita la escritura de los datos, permitiendo crear estructuras más complejas que las que se pueden hacer usando una línea de comandos.
evita que el usuario tenga que especificar todos los parámetros en la línea de comandos.
presenta facilidad respecto a su mantenimiento, debido a que se puede administrar con un sistema de gestión de versiones, donde se registran los cambios y modificaciones realizadas.
admite un numeroso grupo de tipos de datos, como diccionarios, matrices, listas y escalares.
es compatible con lenguajes de programación como JavaScript, Python, Java o Rubí, entre otros.
Relativamente sencilla ya que fue diseñada teniendo en cuenta que fuera muy legible pero que a la vez fuese mapeable a los tipos de datos más comunes en la mayoría de los lenguajes de alto nivel.
La sintaxis básica de este tipo de ficheros indica que cada archivo YAML inicia con ---
y su extensión es .yaml
.
La estructura es clave: valor
resultando fundamental dejar un espacio entre los indicadores.
Se permiten datos como: caracteres, cadenas, valores flotantes, números enteros, así como colecciones (por ejemplo matrices) y listas construidas partiendo de otros datos básicos.
YAML solo admite espacios y tiene la capacidad de distinguir entre mayúsculas y minúsculas.
Utiliza una notación basada en la sangría y/o un conjunto de caracteres Sigil
distintos de los que se usan en XML, haciendo que sea fácil componer ambos lenguajes.
Los contenidos se describen utilizando el conjunto de caracteres imprimibles de Unicode, bien en UTF-8 o UTF-16.
En la estructura del documento se indenta utilizando espacios en blanco, aunque no se permite el uso de caracteres de tabulación.