Vai al contenuto

YAML

Da Wikipedia, l'enciclopedia libera.
YAML
linguaggio di programmazione
AutoreClark Evans
Data di origine3 marzo 2001
Ultima versione1.2.2 (1º ottobre 2021)
Estensioni comuniyaml e yml
Implementazione di riferimento
Sito webyaml.org/

YAML (acronimo ricorsivo di YAML Ain't Markup Language, 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). [1]

Proposto da Clark Evans nel 2001, è stato sviluppato da quest'ultimo e Brian Ingerson. 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.[2]

Il seguente esempio rappresenta i dati di un'ipotetica fattura in formato YAML: [3]

 --- !<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 di altri formati, come JSON, XML e .properties. Alcuni esempi:

Altri utilizzi sono lo scambio dati, la persistenza di strutture anche complesse e il Log di applicazioni.[9]

Paragone tra i formati YAML e JSON

[modifica | modifica wikitesto]

Vantaggi del formato YAML:

  • Maggior leggibilità
  • JSON è rapidamente convertibile in YAML
  • 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)
  1. (EN) YAML Ain’t Markup Language (YAML™) Version 1.2, su yaml.org, 1º ottobre 2021. URL consultato il 23 giugno 2020.
  2. (EN) Chellammal Surianarayanan, Essentials of Microservices Architecture. URL consultato il 23 giugno 2020.
  3. Esempio tratto dalle specifiche ufficiali
  4. Documentazione ufficiale di Kubernetes
  5. Documentazione ufficiale di Spring Boot
  6. Blog di perl.com
  7. (EN) Understanding GitHub Actions, su GitHub Docs. URL consultato il 5 ottobre 2021.
  8. (EN) Home Assistant, YAML, su Home Assistant. URL consultato il 27 ottobre 2021.
  9. Articolo su DZone.com

Voci correlate

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica