YAML
YAML adalah format serialisasi data terbaca-manusia yang mengambil konsep dari bahasa-bahasa seperti XML, C, Python, Perl, serta format surat elektronik seperti yang tercantum dalam RFC 2822. YAML pertama kali diusulkan oleh Clark Evans pada tahun 2001 [2] yang merancang format ini bersama dengan Ingy döt Net dan Oren Ben-Kiki. YAML tersedia bagi beberapa bahasa dan skrip pemrograman.
Jenis MIME |
|
---|---|
Rilis pertama | 11 Mei 2001 |
Rilis terbaru | 1.2 (Revisi 1.2.2) / 1 Oktober 2021 |
Jenis format | Pertukaran data |
Situs web | yaml |
Sejarah
suntingPada awal pengembangannya, YAML dimaksudkan sebagai singkatan dari "Yet Another Markup Language".[3] Dalam perkembangannya, untuk menegaskan tujuannya yang terfokus pada data dan bukan markah dokumen, YAML diubah menjadi singkatan rekursif dari "YAML Ain't a Markup Language." Nama inisialnya awalnya diperuntukan sebagai referensi tongue-in-cheek[4] ke ranah teknologi, mereferensikan tujuannya sebagai bahasa markah dengan konstruksi lain, tetapi kemudian hal tersebut digunakan kembali menjadi YAML Ain't Markup Language, akronim rekursif, untuk membedakan tujuannya sebagai berorientasi data, bukan markah dokumen.
Versi
suntingVersi | Tanggal perilisan |
---|---|
YAML 1.0 | 29 Januari 2004 |
YAML 1.1 | 18 Januari 2005 |
YAML 1.2.0 | 21 Juli 2009 |
YAML 1.2.1 | 1 Oktober 2009 |
YAML 1.2.2 | 1 Oktober 2021 |
Perbandingan dengan format lain
suntingPerbandingan dengan JSON
suntingSintaks JSON adalah dasar dari YAML versi 1.2, yang diumumkan secara resmi dengan tujuan untuk menjadikan YAML "sesuai dengan JSON sebagai subset resmi".[5] Walaupun versi sebelumnya dari YAML tidak sepenuhnya kompatibel,[6] perbedaannya jarang terlihat, dan sebagian besar dokumen JSON dapat diurai oleh beberapa parser YAML seperti Syck.[7] Hal ini dikarenakan struktur semantik JSON setara dengan "gaya sebaris" opsional dalam penulisan YAML. Sementara hierarki yang ditambahkan dapat ditulis dalama gaya satu baris seperti JSON, ini bukan gaya YAML yang direkomendasikan kecuali jika gaya ini membantu kejelasan.
YAML mempunyai fitur-fitur tambahan yang tidak terdapat pada JSON, termasuk komentar, tipe data yang dapat diperluas, anchor relasional, string tanpa tanda kutip, dan tipe pemetaan yang mempertahankan urutan kunci.
Karena keringkasannya, Serialisasi dan deserialisasi JSON jauh lebih cepat daripada YAML.[8]
Pranala luar
sunting- (Inggris) YAML.org
- (Inggris) Spesifikasi YAML
- (Inggris) YAML pada Five Minutes Diarsipkan 2006-06-18 di Wayback Machine.
- (Inggris) YAML improves on XML
- YAMLScript
Referensi
sunting- ^ Polli, Roberto; Wilde, Erik; Aro, Eemeli (2024-02-21). YAML Media Type (Laporan). Internet Engineering Task Force. Diarsipkan dari versi asli tanggal 2024-02-21. Diakses tanggal 2024-02-21.
- ^ Evans, Clark (11 Mei 2001). "YAML Draft 0.1". Yahoo! Tech groups: sml-dev. Diarsipkan dari versi asli tanggal 2013-09-07. Diakses tanggal 2008-08-02.
- ^ "Yet Another Markup Language (YAML) 1.0". Diakses tanggal 2008-11-24.
- ^ "Yet Another Markup Language (YAML) 1.0". stackoverflow.com. Diarsipkan dari versi asli tanggal 2021-04-23. Diakses tanggal 2021-03-24.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaYAML Version 1.2
- ^ The incompatibilities were as follows: JSON allows extended character sets like UTF-32 and had incompatible unicode character escape syntax relative to YAML; YAML required a space after separators like comma, equals, and colon while JSON does not. Some non-standard implementations of JSON extend the grammar to include Javascript's
/*...*/
comments. Handling such edge cases may require light pre-processing of the JSON before parsing as in-line YAML. See also [1] Diarsipkan 2013-08-29 di Wayback Machine.. - ^ Parsing JSON with SYCK Diarsipkan 2016-09-17 di Wayback Machine.. Note that e.g. Symfony's YAML parser does not support line breaks inside [] or {} structures, which is a major incompatibility with JSON.
- ^ "Differences Between YAML and JSON". Baeldung. 9 July 2020. Diarsipkan dari versi asli tanggal 7 March 2023. Diakses tanggal 7 March 2023.