O que é YAML?

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.

Possui 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"
        } 
    } 
}

Podemos 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.

Deixe seu comentário

Graduanda em Sistemas de Informação pelo Instituto Federal da Bahia. É responsável pelo atendimento ao cliente, gerenciamento de redes sociais e revisão de cursos, além da redação de artigos para o blog da TreinaWeb.