JSON ve XML'e Derin Bir Bakış, Bölüm 1: Her Standardın Tarihi
Yayınlanan: 2022-03-11Masaüstünden web ve mobil cihazlara, bugün kullandığımız neredeyse tüm bilgisayar uygulamaları iki temel mesaj standardından birine dayanır: JSON ve XML. Bugün, JSON en yaygın kullanılan biçimdir, ancak yalnızca son beş yıl içinde XML'i geride bırakmıştır. “JSON vs. XML” için hızlı bir çevrimiçi arama, iki standardı karşılaştıran ve JSON'un basitliğini öven ve XML'in ayrıntı düzeyini eleştiren giderek genişleyen bir önyargıya varan sayısız makale ve blog yazısı getirecektir. Çok sayıda makale, JSON'un özlü semantiği nedeniyle XML'den üstün olduğu konusunda ısrar ediyor ve XML'i geçmişin verimsiz ve kafa karıştırıcı bir standardı olarak kabul etmiyor. İlk bakışta, JSON en popüler gibi görünüyor - yani JSON, XML'den daha mı iyi? "JSON'a karşı XML" savaşı yüzeyde JSON'a gidebilir, ancak derinlemesine bakıldığında göründüğünden daha fazlası vardır.
Bu makalenin 1. Kısmında şunları yapacağız:
- XML ve JSON'un asıl amacını ortaya çıkarmak için web tarihine daha yakından bakın.
- JSON'un neden XML'den daha popüler hale geldiğini anlamak için son yıllarda yazılım trendlerinin evrimini düşünün.
JSON ve XML'in Tarihçesi
JSON'un XML üzerindeki popülaritesinin nedenini ortaya çıkarmak için, web'in tarihini ve Web 1.0'dan Web 2.0'a evriminin geliştirme eğilimlerini nasıl etkilediğini keşfedelim.
Web 1.0: HTML
1990'ların başı Web 1.0'ın şafağıydı. HTML 1991'de tanıtıldı ve üniversiteler, işletmeler ve devlet kurumları tarafından web dili olarak geniş çapta benimsendi. HTML, 1970'lerde IBM tarafından icat edilen SGML'den veya "Standart Genelleştirilmiş İşaretleme Dili"nden geldi. Toplu benimsemeye ek olarak, HTML toplu uyarlama gördü; multimedya, animasyon, çevrimiçi uygulamalar, e-ticaret ve daha fazlasını desteklemek için uzantılar yerleştirildi. SGML'nin bir türevi olarak HTML, şirketleri orijinal konseptin ötesindeki gereksinimleri karşılamak için özgürce genişletmekten alıkoymak için katı bir spesifikasyondan yoksundu. Netscape ve Microsoft arasındaki en popüler web tarayıcısı yarışması hızlı ilerleme sağladı, ancak aynı zamanda standardın amansız bir şekilde parçalanmasına da yol açtı. İki şirket tarafından HTML'nin genişletilmesi, tarayıcıların kendi benzersiz HTML sürümlerini desteklemesine neden olduğundan, şiddetli rekabet bir "farklılık felaketi" ile sonuçlandı. Geliştiriciler tarayıcılar için birlikte çalışabilir kod yazmakta zorlandıkça, bu farklılık felaketi web uygulamaları için büyük bir sorun haline geldi.
Web 1.1: XML + HTML = XHTML
1990'ların sonlarında, Jon Bosak, Tim Bray, James Clark ve diğerleri de dahil olmak üzere bir grup insan XML'i buldu: "Genişletilebilir İşaretleme Dili". SGML gibi, XML de bir biçimlendirme dili değil, biçimlendirme dillerinin tanımı için bir belirtimdir. XML, yapılandırılmış içeriği tanımlamak ve uygulamak için bir araç sağlamak üzere tasarlanmış, SGML'nin bir evrimiydi. “Bilişimin kutsal kâsesi” 1 olarak kabul edilen XML dili, “benzersiz sistemler arasındaki evrensel veri alışverişi sorununu çözmek” için çaba sarf etti (Dr. Charles Goldfarb) 2 . HTML'nin devam eden parçalanması yerine, World Wide Web için yeni standartların benimsenmesinde endüstri arasında uyumluluğu ve anlaşmayı teşvik etmek için World Wide Web Komitesi (W3C) kuruldu. 3 W3C, HTML'yi bir XML uygulaması olarak yeniden şekillendirmeye başladı ve sonuç XHTML oldu.
XHTML, XML'e dikkat çeken büyük bir girişimdi, ancak XML'in neyle ilgili olduğunun yalnızca küçük bir parçası.
XML, endüstrinin katı semantik ile herhangi bir uygulama için özel biçimlendirme dilleri belirlemesi için bir yol sağladı. Anahtar kelime "katı anlambilim" olduğundan, XML, herhangi bir XML alt dilindeki herhangi bir XML belgesindeki verilerin bütünlüğünü ortaya koyabilecek bir standart tanımladı. Farklı sistemlerle arayüz oluşturan dağıtık kurumsal uygulamalar geliştiren yazılım şirketleri için, verilerinin bütünlüğünü ortaya koyabilecek bir biçimlendirme dili önemliydi. Şirketler, yapılandırılmış içeriği XML ile tanımlayarak, herhangi bir platformla birlikte çalışmak, her veri alışverişinde veri bütünlüğünü sağlamak ve sistemlerinin yazılım riskini sistematik olarak azaltmak için bu teknolojinin özelliklerinden yararlandı. XML, endüstri için her türlü veriyi herhangi bir platformdaki uygulamaların kolayca okuyabileceği ve işleyebileceği bir biçimde depolamak, iletmek ve doğrulamak için bir teknoloji sağladı. HTML için XML, “farklılık felaketini” çözme sözü verdi.
Java ve .NET
2000'lerin başında, web iki şirket tarafından yönetiliyordu: Sun ve Microsoft. O zamanlar, programlama dillerinin manzarası, sunucu tarafına yoğun bir şekilde eğimliydi. Web uygulamaları için ortak mimari, HTML sayfalarını tarayıcıya teslim edilmek üzere arka uçta işleyen sunuculara dayanıyordu. Bu yaklaşım, arka uç teknolojilerini öne çıkardı ve bu da önde gelen arka uç platformlarını popüler hale getirdi: Java ve C#.NET. Sun Microsystems tarafından geliştirilen Java, “bir kez yaz her yerde çalıştır” 4 yaklaşımıyla mimariler arası sorunu çözen yeni nesil nesne yönelimli programlama dillerine öncülük etti. Microsoft, .NET, C# ve Common Language Runtime (CLR) ile devam etti ve gözlerini veri birlikte çalışabilirlik bulmacasını çözmek için seçim yaklaşımı olarak XML'e dikti. Microsoft, XML'i önde gelen .NET girişiminin ayrılmaz bir parçası olarak seçmesiyle birlikte, XML'in en büyük savunucusu oldu. “XML web hizmetleri için bir platform” olarak tanıtılan 5 .NET uygulamaları, diğer platformlarla iletişim için XML kullanacak şekilde tasarlandı. Microsoft'un veri değişim standardı olarak seçilen XML, SQL Server ve Exchange gibi amiral gemisi sunucu ürünlerine entegre edildi.
Web 1.2: AJAX
Önceden oluşturulmuş HTML sayfalarının tarayıcıya teslimi ölçeklenebilir değildi ve web'in bir alternatife ihtiyacı vardı. Sunucudan yeni bir sayfa yüklenmesini gerektiren her kullanıcı eylemiyle, daha fazla insan web'i şişirdikçe işlem yükü ve bant genişliği tüketimi bir endişe haline geldi.
Netscape ve Microsoft, zaman uyumsuz içerik teslimi ile bu sorunu çözmeye çalıştı: ActiveX ve JavaScript. 1998'de Microsoft Outlook Web Access ekibi, daha sonra Mozilla, Safari, Opera ve JavaScript'teki diğer tarayıcılar tarafından XMLHttpRequest
nesnesi olarak uygulanan ActiveX 6'nın arkasındaki konsepti geliştirdi.
AJAX, Microsoft'un ActiveX'inden ve Netscape'in JavaScript'inden doğdu.
"Eşzamansız JavaScript ve XML"in kısaltması olan AJAX terimi, bir sayfanın yeniden yüklenmesini gerektirmeden arka planda sunucularla iletişim kuran web uygulamalarını uygulamak için kullanılabilecek çok çeşitli web teknolojilerini temsil eder hale geldi. AJAX terimini oluşturan makalede, 7 8 Jesse James Garrett ana kavramları özetledi:
- Sunum için HTML (veya XHTML) ve CSS.
- Verilerin dinamik olarak görüntülenmesi ve verilerle etkileşim için Belge Nesne Modeli (DOM).
- Veri değişimi için XML ve manipülasyonu için XSLT.
- Eşzamansız iletişim için
XMLHttpRequest
nesnesi. - Bu teknolojileri bir araya getirmek için JavaScript.
AJAX, sunucu yükünü azalttığını ve kayda değer bant genişliği tasarrufu sağladığını kanıtlayan eşzamansız içerik teslimi ile oyunun kurallarını değiştirdi. XMLHttpRequest
tarayıcılara tanıtılması, geliştiricilerin ön uçta daha karmaşık mantık uygulamalarına izin verdi. Google, 2004'te Gmail ve 2005'te Google Haritalar ile standartlarla uyumlu, tarayıcılar arası AJAX'ın geniş bir dağıtımını yaptı. 9 Ekim 2004'te Kayak.com'un genel beta sürümü, AJAX'ın ilk büyük ölçekli e-ticaret kullanımları arasındaydı. 10
Web 2.0: Tek Sayfalı Uygulamalar
AJAX'ın web uygulamaları için ölçeklenebilir mimari olarak benimsenmesi, Web 2.0'ın doğuşuna yol açtı: Tek Sayfalı Uygulama (SPA). 11 Her kullanıcı etkileşimi için tüm sayfayı yeniden yüklemek yerine, SPA'lar mevcut sayfayı tarayıcı içinde dinamik olarak yeniden yazar. SPA yaklaşımı, sunucu yükü ve bant genişliği tüketiminde önemli bir azalmaya ek olarak, kullanıcı etkileşimi sırasındaki kesintisiz ve kesintisiz deneyim sayesinde web uygulamalarının masaüstü uygulamalarına benzemesine izin verdi.
Nisan 2002'de Stuart Morris, slashdotslash.com12 adresinde ilk SPA'lardan birini yazdı ve aynı yıl, Lucas Birdeau, Kevin Hakman, Michael Pachey ve Evan Yeh, ABD patenti 8,136,109'da tek sayfalık bir uygulama uygulamasını açıkladı. 13 Patent, kullanıcı arayüzünü görüntülemek, uygulama mantığını çalıştırmak ve bir web sunucusuyla iletişim kurmak için JavaScript kullanan web tarayıcılarını tanımladı.
Google'ın Gmail, Google Haritalar ve Kayak'ın herkese açık beta sürümü, yeni bir web uygulaması geliştirme çağını başlattı. AJAX ile etkinleştirilen tarayıcılar, geliştiricilere web için zengin uygulamalar yazma yetkisi verdi. JavaScript'in kolay semantiği, herhangi bir çaptaki programcılar için uygulama geliştirmeyi mümkün kıldı. Yazılım geliştirmeye girişin önündeki engel büyük ölçüde azaldı ve dünya çapındaki bireysel geliştiriciler kendi kitaplıkları ve çerçeveleriyle katkıda bulunmaya başladılar. Farklı üreticilerin tarayıcıları arasında AJAX davranışını normalleştiren jQuery gibi popüler kitaplıklar, AJAX devrimini daha da ilerletti.
JSON'un Yükselişi
Nisan 2001'de Douglas Crockford ve Chip Morningstar, Morningstar'ın Bay Area garajındaki bir bilgisayardan ilk JSON mesajını gönderdi. Crockford ve Morningstar, "AJAX" terimi ortaya çıkmadan çok önce AJAX uygulamaları oluşturmaya çalışıyorlardı, ancak elde etmeye çalıştıkları şey için tarayıcı desteği iyi değildi. Sayfa yüklendikten sonra verileri uygulamalarına iletmek istediler, ancak bunun tüm tarayıcılarda çalışmasına izin verecek bir yol bulamadılar.
2001'de AJAX'ın geliştirilmesi yeni başlıyordu ve XMLHttpRequest
nesnesinin Internet Explorer 5 ve Netscape 4'te birlikte çalışabilir bir biçimi henüz yoktu. Dolayısıyla Crockford ve Morningstar, her iki tarayıcıda da çalışan farklı bir yaklaşım kullandı.
İlk JSON mesajı şöyle görünüyordu:
<html><head><script> document.domain = 'fudco'; parent.session.receive( { to: "session," do: "test," text: "Hello world" } ) </script></head></html>
Bu mesaj aslında bir miktar JavaScript içeren bir HTML belgesidir ve mesajın sadece küçük bir kısmı bugün bildiğimiz şekliyle JSON'a benzer. Crockford ve Morningstar, yukarıdaki gibi bir HTML belgesi döndürecek bir URL'ye bir <iframe>
işaret ederek verileri eşzamansız olarak yükleyebildi. Yanıt alındığında, HTML'deki JavaScript çalıştırılacak ve alt pencerelerin üst öğeye erişmesini engelleyen tarayıcı korumalarından kaçınılarak, nesne değişmezi uygulamanın ana çerçevesine geri döndürüldü. Bazen "gizli çerçeve tekniği" olarak da adlandırılan bu çerçeve tabanlı teknik, XMLHttpRequest
yaygın olarak uygulanmasından önce 90'ların sonlarında yaygın olarak kullanılıyordu. 14

Bu yaklaşım geliştiricilerin ilgisini çekti çünkü tüm tarayıcılarda birlikte çalışabilirlik sunuyordu. Mesaj sadece JavaScript olduğundan, herhangi bir özel ayrıştırma gerektirmez. JavaScript'i bu şekilde kullanma fikri o kadar basitti ki, Crockford'un kendisi bunu yapan ilk kişi olmadığını söyledi - Netscape'teki birisinin daha 1996'da bilgileri iletmek için JavaScript kullandığını iddia ediyor.15
Crockford ve Morningstar, her türlü uygulamada kullanılabilecek bir şeyleri olduğunu fark ettiler. Biçimlerine "JavaScript Object Notation"ın kısaltması olan JSON adını verdiler. Bunu müşterilere sunmaya başladılar, ancak kısa süre sonra birçoğunun resmi bir spesifikasyonu olmayan yeni bir teknolojiye şans vermek istemediğini gördüler. Böylece Crockford bir tane yazmaya karar verdi. 2002'de Crockford, JSON.org alan adını satın aldı ve JSON dilbilgisini ve bir ayrıştırıcının referans uygulamasını ortaya koydu. Web sitesi hala çalışıyor, ancak şimdi 2013'te onaylanan JSON ECMA standardına belirgin bir bağlantı içeriyor. 16 Web sitesini kurduktan sonra, Crockford JSON'u tanıtmak için çok az şey yaptı, ancak kısa süre sonra farklı programlama dilleri için JSON ayrıştırıcı uygulamaları gönderen insanlar buldu. JSON'un kökeni açıkça JavaScript'e bağlıdır, ancak JSON'un keyfi diller arasında veri alışverişi için çok uygun olduğu ortaya çıktı.
AJAX'ta JSON
2005 yılında Jesse James Garrett bir blog yazısında "AJAX" terimini kullandı ve burada AJAX'ın yeni bir teknoloji olmadığını, aksine "her biri kendi başına gelişen ve güçlü yeni şekillerde bir araya gelen birkaç teknoloji" olduğunu vurguladı. 16 Blog yazısı, geliştiricilerin JavaScript ve XMLHttpRequest
nasıl yararlanarak tipik web sayfasından daha hızlı yanıt veren ve durum bilgisi olan yeni uygulama türleri oluşturabileceklerini açıklamaya devam etti. AJAX tekniklerini kullanan web sitelerine örnek olarak Gmail, Google Haritalar ve Flickr'ı gösterdi. “AJAX”taki “X” XML anlamına gelse de, Garrett JSON'u tamamen kabul edilebilir bir alternatif olarak işaret etti. “XML, bir AJAX istemcisine veri almanın ve bu istemciden veri almanın en gelişmiş yoludur, ancak JavaScript Object Notation veya benzeri herhangi bir veri yapılandırma aracı kullanarak aynı efektleri elde edememeniz için hiçbir neden yok” diye yazdı. 17
JavaScript ve JSON'un kesinlikle birlikte olması gerekiyordu. JSON'un semantiği, doğrudan JavaScript ile eşleşir ve onu dil için yerel veri değiş tokuş biçimi haline getirir. Geliştiriciler, JSON ile JavaScript'te çalışmanın daha kolay olduğunu çabucak keşfetti ve çoğu kişi onu XML'e tercih etmeye başladı.
JSON, blogosferin dikkatini çektikçe, JSON'un yaygınlaşması başlamıştı.
JSON Neden XML'den Daha Popüler Oldu?
JSON, JavaScript uygulamalarındaki veriler için yerel biçimdir. JavaScript'in son on yılda popülerleşmesiyle birlikte, diğer veri formatlarından daha fazla JSON mesajı oluşturuldu. JavaScript'te uygulama yazmak, veri alışverişi için JSON kullanımını neredeyse zorunlu kılar. Diğer biçimler de mümkündür, ancak bunlar JSON'dan daha fazla çaba gerektirir. JavaScript'in uygulama geliştirme için popülerlik kazanmasıyla birlikte, JSON, kullanımı kolay ve yerel olarak entegre edilmiş veri değişim formatı olarak onu yakından takip etti.
Blogosfer ile ilgili olarak, JavaScript (ve dolayısıyla JSON) hakkında diğer programlama platformlarından daha fazla makale, örnek ve öğretici yazılmıştır.
Web'in tarihi ve evrimsel yolu, JSON'un popülerleşmesinde önemli bir rol oynamıştır. Stack Overflow'a göre, artık JSON hakkında diğer veri değişim biçimlerinden daha fazla soru soruluyor. 18
Google Trends'e göre, JSON ve XML için arama ilgisini karşılaştıran benzer bir profil görülüyor. 19
JavaScript'in yaygınlaşması, JSON'un XML'den daha iyi olduğu anlamına mı geliyor?
Geliştirici toplulukları, özlü bildirim kapsamı ve basit semantiği nedeniyle JSON'un XML'den daha popüler hale geldiğinde ısrar ediyor. Douglas Crockford, JSON.org'da JSON'un bazı avantajlarını şöyle özetliyor: "Sözdizimi minimal ve yapısı tahmin edilebilir olduğundan, JSON'u hem insanlar hem de makineler daha kolay anlıyor." 20 XML'in diğer eleştirmenleri, "açılı ayraç vergisi" olarak XML'in ayrıntı düzeyine odaklanmışlardır. 21 XML biçimi, her açılış etiketinin bir kapanış etiketiyle eşleşmesini gerektirir ve bu da, sıkıştırılmadığında bir XML belgesini eşdeğer bir JSON belgesinden önemli ölçüde daha büyük hale getirebilecek gereksiz bilgilerle sonuçlanır. Ve belki daha da önemlisi, geliştiriciler şunu söylüyorlar: "Ayrıca bir XML belgesinin okunmasını zorlaştırıyor." 22
JSON, sadeliği ve özlü semantiği nedeniyle kolayca övüldü ve XML, ayrıntı düzeyi ve görünüşte aşırı karmaşıklığı nedeniyle geçmişin eskimiş bir standardı olarak etiketlendi. Birçok makale ve blog gönderisi, JSON ile XML'i karşılaştırırken sınırlı bir bakış açısı sunar ve okuyucuların JSON'un XML'in yerine geçtiğine inanmalarına yol açar. Durum bu değil!
Makaleler ve blog gönderileri tarafından sunulan sınırlı bakış açısı, okuyucuların XML'i modası geçmiş olarak kabul etmelerine yol açarak, yazılımlarının mimarisini ve değişime karşı direncini geliştirmelerine ve yazılım riskini sistematik olarak azaltmalarına yardımcı olabilecek birçok güçlü özellikten habersiz kalmasına neden oldu.
JSON, JavaScript'in günümüzün en yaygın kullanılan dili olması nedeniyle XML'den daha popülerdir. JavaScript'in son on yılda yazılım trendlerinin etkisiyle JSON, diğer tüm veri değişim formatlarından daha fazla ilgi görmeye devam ediyor. Blogosfer, "JSON, XML'den daha iyidir" diye hızlı bir şekilde yankılanıyor, ancak çoğu zaman, bu ifadeler gerekçesiz bırakılıyor veya anlambilim ve ayrıntıyla ilgili basit karşılaştırmalarla destekleniyor. Peki standartlardan biri diğerinden daha mı iyi? Bu sorunun cevabı ancak her standardın daha derin bir değerlendirmesinden gelebilir.
Çözüm
1990'dan bugüne, web uzun bir yol kat etti. Netscape ve Microsoft arasındaki tarayıcı savaşları, HTML'de bir ayrışma felaketine yol açtı ve web'i kurtarmak için bir çözüme ihtiyaç duyuldu. XML, XHTML'yi resmileştirmek için icat edildi ve bir bütün olarak bilgi işlem için kutsal bir çözüm sağladı. Tam HTML sayfalarının arka uç sunucular tarafından oluşturulmasından AJAX ve SPA'lara kadar, web mimarisindeki ve tarayıcı geliştirmedeki eğilimler JavaScript'e odaklanarak dünya çapındaki geliştiricileri JSON'a yönlendirdi.
JSON'un popülaritesi JavaScript'in popülaritesi ile ilişkilidir. Kullanım kolaylığı ve kısa öğrenme eğrisi ile JavaScript, yazılım yazmak için diğer tüm dillerden daha fazla yeni geliştirici getirdi. JSON'un en popüler geliştirme platformuyla yerel entegrasyonu sayesinde, Stack Overflow'ta JSON hakkında diğer veri değişim biçimlerinden daha fazla soru sorulması şaşırtıcı değildir.
Son yıllardaki yazılım trendlerinin sektöre daha fazla JavaScript geliştiricisi getirmesiyle birlikte JSON, "en popüler veri değişim formatı" unvanını kazandı.
Yüzeyde, "JSON'a karşı XML" savaşı JSON'a gidiyor, ancak derinlemesine bakıldığında göründüğünden daha fazlası var.
Bu makalenin 2. Kısmında, JSON ve XML'in teknik güçlü ve zayıf yönlerine daha yakından bakacağız ve her standardın ortak uygulamalar ve kuruluş için uygunluğunu değerlendireceğiz. “Veri değişimine” daha yakından bakmak, uygulamanın bütün olarak yazılım riski üzerindeki etkisinin genişliğini ortaya çıkaracaktır. JSON ve XML arasındaki temel farklılıkların daha derinden anlaşılması, geliştiricilerin projelerinin gereksinimleriyle ilişkili olarak her standardın yazılım riskini daha iyi değerlendirmesine olanak tanıyacak ve geliştiricilere daha kararlı, hatalara ve geleceğe karşı daha dayanıklı yazılımlar oluşturma yetkisi verecektir. bilinmeyenler
Bu arada, JSON belirtiminin ilginç bir tuhaflığı, alt özelliklerin üst özelliklere atıfta bulunduğu çift yönlü ilişkilere sahip JavaScript nesnelerini JSON'a dönüştürememenizdir. Bunu yapmak, Uncaught TypeError: Converting circular structure to JSON
sonuçlanır. Bu sınırlamayı aşmak için JSON'da Çift Yönlü İlişki Desteği bölümüne bakın.
Referanslar
1. İnternet: Tarihsel Bir Ansiklopedi. Kronoloji, Cilt 3, s. 130 (ABC-CLIO, 2005)
2. Üst Veri, Semantik ve Ontolojiler El Kitabı, s. 109 (World Scientific, Aralık 2013)
3. WebDiy.org - World Wide Web Konsorsiyumu (W3C) - Tarihçe
4. "JavaSoft, Java 1.0'ı gönderir" (Sun Microsystems, Ocak 1996)
5. Yeni Nesil İnterneti Mekansal Olarak Etkinleştirmek (David Engen, Ocak 2002)
6. XMLHTTP'nin hikayesi (AlexHopmann.com, Ocak 2007)
7. Ajax'a Başlarken - Sayfa 2 (Wiley Publishing, Mart 2007)
8. Ajax: Web Uygulamalarına Yeni Bir Yaklaşım (Jesse James Garrett, Şubat 2005)
9. Ajax'ın Kısa Tarihi (Aaron Swartz, Aralık 2005)
10. "Kayak.com Nedir?" (Kurumsal Backgrounder, Ekim 2008)
11. İç Tarama: Gezinme Gezinme Paradigmasını Genişletme (Netscape, Mayıs 2003)
12. "DHTML kullanan bağımsız bir web sitesi" (SlashDotSlash.com, Temmuz 2012)
13. Müşteri tarafında manipülasyona izin vermek için veri ve formatlama bilgisinin teslimi (ABD Patent Bürosu, Nisan 2002)
14. "Ajax Nedir?" Profesyonel Ajax, 2. baskı. (Wiley, Mart 2007)
15. Douglas Crockford: The JSON Saga (Yahoo!, Temmuz 2009)
16. ECMA Standardı 404 (ECMA International, Aralık 2017)
17. Ajax: Web Uygulamalarına Yeni Bir Yaklaşım (Jesse James Garrett, Şubat 2005)
18. Yığın Taşması Trendleri (Yığın Taşması, 2009-2019)
19. Google Trendler (Google, 2004-2019)
20. JSON: XML'e Yağsız Alternatif (Crockford, 2006)
21. XML: The Angle Bracket Tax (Coding Horror, Mayıs 2008)
22. Xml Berbat (WikiWikiWeb, 2016)