xml - que - ¿Para qué tipo de aplicación/utilización es más adecuado YAML?
tags h1 ejemplos (5)
Utilizo YAML como un reemplazo fácil y económico para escribir un lenguaje específico de dominio (particularmente en casos en que otros desarrolladores harán mantenimiento, no estoy seguro de que lo use cuando no desarrolladores lo mantengan)
¿Por qué uno elegiría YAML sobre XML o cualquier otro formato?
Elegiría YAML si los documentos necesitaran ser editados o creados por humanos. Solo un pensamiento.
Estoy de acuerdo con Sergio; YAML proporciona un formato que los humanos pueden editar fácilmente, pero también una buena forma de representar estructuras de datos de forma limpia.
YAML tiende a ser mucho más humano legible, IMO.
YAML es más una técnica de serialización de datos que un lenguaje de marcado.
Las principales ventajas de YAML son la legibilidad y compacidad humana. Ah, y es ampliamente compatible con varias plataformas e idiomas.
YAML es muy popular en la comunidad de Ruby, donde se usa principalmente en preferencia a XML para los archivos de configuración en Rails y Merb, por ejemplo.
¿Para qué tipo de aplicación / utilización es más adecuado YAML?
Esto es difícil de responder claramente. En cambio, intentaré proporcionar algunos ejemplos de lo que YAML no es bueno (en mi humilde opinión).
<name type="string">Orion</name>
<age type="integer">26</age>
Este es un caso donde es útil mezclar atributos y valores en XML. YAML no tiene atributos, por lo que debe usar la inferencia de tipo para decidir qué es una fecha / entero / cadena / etc. - esto falla para los tipos complejos o definidos por el usuario.
<user>
.... 10 lines of stuff
<sub-user>
...15 more lines of stuff
</sub-user>
.... 10 more lines of stuff belonging to user
</user>
Este es un caso donde las etiquetas de cierre en XML proporcionan un gran beneficio. Si tuviera que formatear los datos anteriores en YAML, utilizando solo la sangría para proporcionar ''alcance'', sería mucho más difícil determinar dónde comienzan y terminan las cosas.
Para una buena medida, aquí hay una cita de la especificación oficial yaml en yaml.org
YAML es principalmente un lenguaje de serialización de datos. XML fue diseñado para ser compatible con el lenguaje de marcado generalizado estándar (SGML) y, por lo tanto, tenía muchas limitaciones de diseño que YAML no comparte. Al heredar el legado de SGML, XML está diseñado para admitir documentación estructurada, donde YAML está más enfocado en estructuras de datos y mensajería. Donde XML es un pionero en muchos dominios, YAML es el resultado de las lecciones aprendidas de XML y otras tecnologías.