Em algum momento você já se deparou com algum arquivo com extensão .yaml ou .yml? Mas o que é realmente este tal de YAML?
Criado em 2001 o YAML é um formato de serialização de dados amigável para humanos e padrão para qualquer linguagem de programação, usualmente é utilizado muito em arquivos de configuração. Ferramentas como Ansible, Kubernetes entre outras utilizam este formato.
Essecialmente criado para guardar dados (como um banco de dados), o YAML tem como característica a legibilidade, é bem mais fácil ler e escrever com ele.
Exemplo
Segue um exemplo comparando-o com padrões similares como JSON e XML:
JSON:
{
"blog": {
"nome": "Café = linhas",
"url": "http://exemplo.com",
"post": {
"titulo": "hello world",
"data": "12/04/2011"
}
}
}
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<blog>
<nome>Café = linhas</nome>
<url>http://exemplo.com</url>
<post>
<titulo>hello world</titulo>
<data>12/04/2011</data>
</post>
</blog>
YAML:
blog:
nome: Café = linhas
url: http://exemplo.com
post:
titulo: hello world
data: 12/04/2011
Um detalhe imporante é que o YAML necessita ser identado com espaços, um simples TAB em seu código vai gerar erro de interpretação podendo te levar a loucura para encontrar, rss.
Conclusão
O YAML é uma excelente alternativa para estruturar e armazenar dados a serem transferidos entre outros sistemas com uma sintaxe legível e mais limpa que seus concorrentes como JSON e XML.