YAML
|
Questa voce o sezione sull'argomento linguaggi di programmazione non cita le fonti necessarie o quelle presenti sono insufficienti.
|
YAML (pronunciato ˈjæməl, in rima con camel ) è un formato per la serializzazione di dati utilizzabile da esseri umani. Il linguaggio sfrutta concetti di altri linguaggi come il C, il Perl e il Python e idee dal formato XML e dal formato per la posta elettronica (RFC2822).
Proposto da Clark Evans nel 2001, è stato sviluppato da quest'ultimo e Brian Ingerson. Il nome definisce l'acronimo ricorsivo "YAML Ain't a Markup Language". Nella prima fase di sviluppo l'acronimo veniva definito come "Yet Another Markup Language", significato che è andato perso in favore di un nome che specificasse la natura orientata alla memorizzazione di dati del linguaggio, contrapposto all'utilizzo consono dei linguaggi di markup.
Indice
Formato[modifica | modifica wikitesto]
Il seguente esempio[1] rappresenta i dati di un'ipotetica fattura in formato YAML:
--- !<tag:clarkevans.com,2002:invoice>
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments:
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
Utilizzi comuni[modifica | modifica wikitesto]
Il formato YAML è talvolta usato come file di configurazione al posto del formato json. Alcuni esempi:
- La configurazione degli oggetti su Kubernetes[2]
- Il file di configurazione per un applicativo Spring Boot può essere in YAML[3]
- Il file di configurazione per un applicativo in Perl[4]
Altri utilizzi sono lo scambio dati, la persistenza di strutture anche complesse e il Log di applicazioni.[5]
Paragone tra i formati yaml e json[modifica | modifica wikitesto]
Vantaggi del formato YAML:
- Maggior leggibilità
- Possibilità di concatenazione ottenendo yaml validi
- Possibilità di autoreferenziarsi
- Supporto di tipi complessi
- Supporto di commenti e blocchi di testo
- Estende il formato json
Vantaggi del formato JSON:
- Compattezza
- Maggior facilità di apprendimento e utilizzo
- Maggior diffusione (molti linguaggi supportano nativamente serializzatori di json)
Note[modifica | modifica wikitesto]
Voci correlate[modifica | modifica wikitesto]
Collegamenti esterni[modifica | modifica wikitesto]
- (EN) Sito ufficiale, su yaml.org.

- (EN) YAML Lint- YAML Validator
- (EN) Specifiche del formato yaml