YAML

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

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.

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]

  1. ^ Esempio tratto dalle specifiche ufficiali [1]
  2. ^ Documentazione ufficiale di Kubernetes [2]
  3. ^ Documentazione ufficiale di Spring Boot [3]
  4. ^ Blog di perl.com [4]
  5. ^ Articolo su DZone.com [5]

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica