Lançada em 2001 e inspirada em linguagens como XML, Python, C, entre outras, YAML ou, acrônimo recursivo para “YAML Ain’t Markup Language” é um formato de serialização de dados legível por humanos, sendo bastante utilizado para arquivos de configuração, assim como o JSON e o XML.
Curso Symfony - Fundamentos
Conhecer o cursoPossui uma sintaxe simples e legível, podendo ser mapeada facilmente pelos tipos de dados mais comuns na maioria das linguagens de alto nível, sendo criada especificamente para funcionar bem em casos de uso comum, como, por exemplo:
- Arquivos de configuração;
- Compartilhamento de dados entre linguagens;
- Depuração de estruturas de dados complexas;
- Mensagem entre processos, entre outros.
Baseada em indentação, é uma linguagem que possui bastante similaridade ao XML e ao JSON que já falamos sobre em artigos anteriores.
Pode ser facilmente implementada em linguagens como:
- Python;
- JavaScript;
- PHP;
- Java;
- Perl, entre outras.
Principais características
Além da sua familiaridade com XML, possui como principais características:
- Utilizam um conjunto de caracteres unicode (UTF-8 ou UTF-16);
- Possui propósito centrado em dados no lugar de documentos marcados;
- Case sensitive;
- Pode ser utilizada por diversas linguagens;
- É mais legível que o XML e JSON;
- Possui excelente documentação, entre outros.
Sintaxe
A sintaxe do YAML é extremamente simples e legível, como podemos verificar abaixo:
funcionario:
nome: João
idade: 30
sexo: Masculino
profissao: Programador
dependente:
nome: Maria
sexo: Feminino
Conforme visto acima, o YAML permite estruturas os dados de maneira bem simples. No exemplo anterior, determinamos os atributos de um funcionário (nome, idade, sexo e profissâo), além de uma relação com um dependente, que também possui seus atributos (nome e sexo).
Em JSON, a estrutura acima pode ser vista de seguinte forma:
{
"funcionario": {
"nome": "João",
"idade": 30,
"sexo": "Masculino",
"profissao": "Programador",
"dependente": {
"nome": "Maria",
"sexo": "Feminino"
}
}
}
Curso Symfony - Fundamentos
Conhecer o cursoPodemos concluir que…
O YAML é, também, uma ótima alternativa para armazenar e estruturar dados a serem transferidos entre diversos sistemas. Possui uma sintaxe mais limpa e legível que seus principais “concorrentes”, o XML e o JSON e pode ser utilizado em diferentes linguagens de programação.