JavaScript motoru
JavaScript motoru, JavaScript kodunu yürüten bir yazılım bileşenidir . İlk JavaScript motorları yalnızca yorumlayıcılardı, ancak ilgili tüm modern motorlar ise gelişmiş performans için tam zamanında derlemeyi kullanır. [1]
JavaScript motorları genellikle web tarayıcısı satan firmalar tarafından geliştirilir ve her büyük tarayıcıda bir tane Javascript motoru bulunur. Bir tarayıcıda, JavaScript motoru Belge Obje Modeli aracılığıyla işleme motoruyla uyum içinde çalışır.
JavaScript motorlarının kullanımları yalnızca tarayıcılar ile sınırlı değildir. Örneğin, V8 motoru, Node.js ve Deno çalışma zamanı sistemlerinin temel bir bileşenidir.
ECMAScript, JavaScript'in standartlaştırılmış özelliği olduğundan, aynı zamanda bu motorlar için ECMAScript motoru adı da kullanılan başka bir diğer isimdir. WebAssembly'nin ortaya çıkmasıyla birlikte, bazı motorlar bu kodu normal JavaScript koduyla aynı sanal alanda da çalıştırabilirler.
Tarihçe
İlk JavaScript motoru Brendan Eich tarafından 1995 yılında Netscape Navigator web tarayıcısı için oluşturuldu. Eich'in icat ettiği motor, yeni ortaya çıkan dil için ilkel bir tercüman sayılırdı . (Bu daha sonrasında Firefox tarayıcısı tarafından hâlâ kullanılan SpiderMonkey motoruna dönüşmüştür.)
İlk modern JavaScript motoru, Google tarafından Chrome tarayıcısı için oluşturulan V8 idi. V8, 2008'de Chrome'un bir parçası olarak piyasaya çıktı ve performansı önceki tüm motorlardan çok daha iyiydi. [2] [3] En önemli yenilik, yürütme sürelerini önemli ölçüde iyileştirebilen tam zamanında derlemeydi .
Diğer tarayıcı üreten firmaların rekabet edebilmek için yorumlayıcı motorlarını elden geçirmesi gerekiyordu. [4] Apple, Safari tarayıcısı için öncekinden %30 daha iyi bir performansa sahip olan Nitro motorunu geliştirdi. [5] Mozilla ise kendi SpiderMonkey motorunu geliştirmek için Nitro'nun bazı kısımlarını kullandı. [6]
2017'den bu yana, bu motorların tamamında WebAssembly için destek eklenmiştir. Bu, sayfa komut dosyalarının performans açısından kritik bölümlerinin önceden derlenmiş yürütülebilir dosyaları kullanmasını sağlamaktadır.
Önemli motorlar
- Google'dan V8 en çok kullanılan JavaScript motorudur. Google Chrome ve diğer birçok Chromium tabanlı tarayıcı, CEF, Electron veya Chromium'u içeren diğer herhangi bir çerçeve ile oluşturulmuş uygulamalarda olduğu gibi bunu kullanırlar. Diğer kullanımları ise Node.js ve Deno çalışma zamanı sistemlerini içerir.
- SpiderMonkey, Mozilla tarafından Firefox ve çatallarında kullanılmak üzere geliştirilmiştir. GNOME Shell uzantı desteği için kullanır.
- JavaScriptCore, Apple'ın Safari tarayıcısı için kullandığı motordur. Diğer WebKit tabanlı tarayıcılar da bunu kullanır. KDE'den türetilen KJS, gelişim için başlangıç noktasıydı. [7]
- Çakra, Internet Explorer tarayıcısının motorudur. Ayrıca orijinal Edge tarayıcısı için Microsoft tarafından çatallanmıştır ancak Edge daha sonra Chromium tabanlı bir tarayıcı olarak yeniden oluşturulduğundan dolayı günümüzde V8 kullanmaktadır. [8] [9]
Kaynakça
- ^ "A Guide to JavaScript Engines for Idiots". Telerik Developer Network. 2015-09-21. 2018-12-08 tarihinde kaynağından arşivlendi. Erişim tarihi: 2018-12-08.
- ^ "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. Erişim tarihi: 2010-06-28.
- ^ "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. Erişim tarihi: 2010-06-28.
- ^ "Mozilla asks, 'Are we fast yet?'". Wired. Erişim tarihi: 18 January 2019.
- ^ Safari 5 Released
- ^ "Opera 10.5 brings new JavaScript engine". CNET. CBS Interactive. 2010-03-02. Erişim tarihi: 2012-01-30.
- ^ "Companies and Organizations that have contributed to WebKit". WebKit Wiki. November 9, 2008. Erişim tarihi: April 13, 2019.
- ^ New year, new browser – The new Microsoft Edge is out of preview and now available for download, Microsoft, 2020-01-15
- ^ "Microsoft Edge and Chromium Open Source: Our Intent". Microsoft Edge Team. 6 December 2018. Erişim tarihi: 8 December 2018.