YAML

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
YAML
linguaggio di programmazione
AutoreClark Evans
Data di origine3 marzo 2001
Ultima versione1.0, 1.1 e 1.2
Estensioni comuniyaml e yml
Implementazione di riferimento
Sito webyaml.org/

YAML ( acronimo 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]

Formato[modifica | modifica wikitesto]

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à
  • 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. ^ (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 [1]
  4. ^ Documentazione ufficiale di Kubernetes [2]
  5. ^ Documentazione ufficiale di Spring Boot [3]
  6. ^ Blog di perl.com [4]
  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 [5]

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

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