Learn · concepts

GraalVM JavaScript Betikleme Nedir?

GraalVM JavaScript, JVM üzerinde çalışan hızlı bir JS motorudur. Java uygulamalarının JavaScript yerleştirmesini sağlayarak, kullanıcıların özellikleri betik olarak yazmasına ve bunları anında yeniden yüklemesine olanak tanır.

TRtrolPublished 3 min read

GraalVM JavaScript nedir?

GraalVM JavaScript, JVM üzerinde çalışan, GraalVM projesinin bir parçası olan, hızlı ve standartlara uygun bir JavaScript motorudur. Java uygulamaları bunu yerleştirir, böylece kullanıcılar, ana programa çağrı yapabilen ve anında yeniden yükleyebilen JavaScript kodu yazabilir. Bir Java uygulamasında bu, Java kodunu yeniden derlemeden JavaScript'te davranış eklemeyi veya değiştirmeyi ifade eder.

Bunu özellik eklemek için bir oyun alanı olarak düşünebilirsiniz. Uygulama, belirli nesneleri ve yöntemleri bir betiğe sunar ve betik, uygulama içinde iş yapmak için bu yöntemleri çağırır. Betiği değiştirdiğinizde ve kaydettiğinizde, motor bunu hemen yeniden yükler, yeniden başlatmaya gerek yoktur

Uygulamaların betik motorlarını neden yerleştirdiği

Minecraft istemcileri gibi uygulamalar, birkaç pratik neden dolayı JavaScript motorları yerleştirir:

  • Sıcak yeniden yükleme: bir betiği değiştirin ve yeniden başlatma veya yeniden derleme olmadan sonucu görün.
  • Güvenli bir ortam: ana program tam olarak hangi nesnelerin ve Java sınıflarının bir betik tarafından erişilebilir olduğunu belirler.
  • Hızlı yineleme: yeni davranışları derleme süresinin dakikaları yerine saniyeler içinde test edin.
  • Kullanıcı özelleştirmesi: oyuncuların tanıdık bir dilde kendi özelliklerini yazmalarına izin verin

Bir müşteride nasıl göründüğü

GraalVM JavaScript'i yerleştiren bir istemci genellikle komut dosyalarını kaydetmek için bir giriş noktası verir ve ardından JavaScript'i programın iç kısımlarına bağlayan küçük bir proxy nesneleri kümesi sağlar. Kullanıcılar bir komut dosyası yazar, bir komut dosyaları klasörüne bırakır ve motor onu yükler. Bu sayede istemci, bir mod derlemek yerine JavaScript ile özellikler eklemeye izin verebilir.

GraalVM JavaScript ve Node.js

ÖzellikGraalVM JavaScriptNode.js
Çalışma ZamanıJVM üzerinde çalışırBağımsız V8 tabanlı çalışma zamanı
Kullanım AlanıJava uygulamalarına gömülüSunucu tarafı JavaScript veya CLI araçları
BaşlangıçAna işlemin bir parçasıAyrı bir işlem
ErişimAna işlem belirli nesneleri sunarTam işletim sistemi erişimi
PerformansJIT derlenmiş, çok hızlıAynı zamanda çok hızlı, farklı ödünleşimler

Her ikisi de JavaScript çalıştırmada mükemmeldir; farklı bağlamlar için tasarlanmışlardır. GraalVM, bir Java uygulamasının kullanıcıların JavaScript ile betik yazmasına izin vermek istediğinizde doğru çözümdür.

Sıkça Sorulan Sorular