Pergunta

Por que escolher YAML sobre o XML ou outros formatos?

Foi útil?

Solução

Concordo com o Sergio;YAML fornece um formato que é facilmente editável por seres humanos, mas também uma boa maneira correta de representar estruturas de dados.

YAML tende a ser muito mais legível, IMO.

YAML é mais do que uma data serialisation técnica, em vez de uma linguagem de marcação.

Outras dicas

YAML's principais vantagens são a legibilidade e compacidade.Ah, e é amplamente suportado por várias plataformas e linguagens.

YAML é muito popular na comunidade Ruby, onde é usado principalmente na preferência XML para arquivos de configuração em Rails e Merb, por exemplo.

Eu iria escolher YAML se os documentos necessários para ser editado ou criado pelo homem.Apenas um pensamento.

Que tipo de aplicação/utilização, o YAML melhor para?

Isto é difícil de responder claramente.Em vez disso, vou tentar dar alguns exemplos do que YAML não bom para (na minha humilde opinião).

<name type="string">Orion</name>
<age type="integer">26</age>

Este é um caso de onde ele é útil para misturar os dois valores e atributos em XML.YAML não tem atributos, então você tem que usar o tipo de inferência para decidir o que é um data/integer/string/etc - falha complexos ou tipos definidos pelo usuário.

<user>
  .... 10 lines of stuff
  <sub-user>
    ...15 more lines of stuff
  </sub-user>
  .... 10 more lines of stuff belonging to user
</user>

Este é um caso onde o fechamento de tags em XML fornecer uma série de benefícios.Se você fosse para formatar os dados acima em YAML, usando apenas o recuo para fornecer "âmbito de aplicação", seria muito mais difícil dizer onde as coisas começam e terminam.

Para uma boa medida, aqui está uma citação da oficial yaml especificação no yaml.org

YAML é, principalmente, uma serialização de dados de linguagem.XML foi projetado para ser compatível com o Standard Generalized Markup Language (SGML) e, portanto, tinha muitas restrições de projeto impostas que YAML não compartilhar.Herdando SGML legado, o XML é projetado para oferecer suporte estruturado, de documentação, onde YAML é que mais de perto direcionados às estruturas de dados e mensagens.Onde XML é um pioneiro em muitos domínios, YAML é o resultado das lições aprendidas a partir de XML e outras tecnologias.

Eu uso o YAML como uma barata e fácil substituição para escrever um domínio específico de linguagem (especialmente em casos em que outros desenvolvedores estará fazendo manutenção;Eu não tenho certeza se gostaria de usá-lo quando não-desenvolvedores seria a manutenção)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top