Programavimas

„Oracle“: dabar perjunkite „Nashorn JavaScript“ variklį į „GraalVM“

Planuodamas atsisakyti „Nashorn JavaScript“ variklio būsimame „Java Development Kit“ (JDK) 11, „Oracle“ ragina kūrėjus pažvelgti į „GraalVM“ virtualią mašiną. „Oracle“ teigia, kad jis yra pajėgesnis nei „Nashorn“, ir nustatė migracijos kelią iš Nashorno į „GraalVM“. „Oracle“ planuoja kelerius metus remti „Nashorn“, kad būtų laiko migracijai.

Kaip ir Nashornas, „GraalVM“ palaiko „JavaScript“ JVM. Bet „GraalVM“ nepriklauso nuo pačios „Java“.

„Oracle“ nurodė kelis „GraalVM“ pranašumus, palyginti su „Nashorn“:

  • Išsamesnis „JavaScript“ standartų įgyvendinimas, palaikant „ECMAScript 2016“ ir „ECMAScript 2017“ leidimus ir šiek tiek palaikant „ECMAScript 2018“.
  • Visiškas „Node.js“ serverio „JavaScript“ platformos palaikymas, kuris yra suderinamas su beveik visais „Node.js“ moduliais.
  • Galimybė vykdyti papildomas kalbas, įskaitant „Python“, „R“ ir „Ruby“.
  • Geresnis našumas nei esami JVM varikliai ir galimybė naudoti „GraalVM“ kompiliatoriaus pažangias optimizacijas.

Norėdami padėti kūrėjams pereiti iš „Nashorn“ į „GraalVM“, „Oracle Labs“ pridėjo suderinamumo žymą (—Nashorn-kaasas), pašalinantį nuobodžių perrašymų poreikį perkelti „Nashorn“ programą į „GraalVM“.

„GraalVM“ įprasta daugialypė API suteikia sąveiką su palaikomomis kalbomis. Vertybės gali būti perduodamos iš vienos kalbos į kitą. Kopijuoti ar pertvarkyti nereikia.

„GraalVM“ gali veikti tiek „JDK 8“ pagrįsto „GraalVM“ diegimo kontekste, tiek standartinio „JDK“ diegimo, pradedant nuo „JDK 11“, kuris ateis rugsėjį, kontekste. Nors „GraalVM“ nebus įtrauktas į JDK, jis gali veikti standartiniame „JDK 11“ diegime, pridedant jį prie modulio kelio. „GraalVM“ taip pat gali būti įterptas kaip tokių platformų kaip „OpenJDK“ ar „Node.js“ dalis, taip pat duomenų bazėje.

Kur atsisiųsti „GraalVM“

Galite atsisiųsti „GraalVM“ iš „GraalVM“ tinklalapio, kuriame pateikiama nuoroda į „GitHub“ nemokamą „Community Edition“ versiją ir į „Oracle Technology Network“ - mokamą „Enterprise Edition“ versiją.

$config[zx-auto] not found$config[zx-overlay] not found