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