Programmering

Oracle: Skift nu fra Nashorn JavaScript-motor til GraalVM

Med planer om at afskaffe Nashorn JavaScript-motoren i det kommende Java Development Kit (JDK) 11 tilskynder Oracle udviklere til at se nærmere på GraalVM virtuel maskine i stedet. Oracle siger, at det er mere i stand end Nashorn, og det har lagt en migrationssti fra Nashorn til GraalVM. Oracle planlægger at støtte Nashorn i et par år for at give tid til at migrere.

Ligesom Nashorn understøtter GraalVM JavaScript på JVM. Men GraalVM er uafhængig af Java selv.

Oracle citerede flere fordele GraalVM har i forhold til Nashorn:

  • En mere komplet implementering af JavaScript-standarder med understøttelse af ECMAScript 2016 og ECMAScript 2017-udgaverne og en vis support til ECMAScript 2018.
  • Fuld support til Node.js-server-side JavaScript-platformen, som er kompatibel med næsten alle Node.js-moduler.
  • Evnen til at udføre yderligere sprog, herunder Python, R og Ruby.
  • Bedre ydelse end eksisterende JVM-baserede motorer og evne til at bruge GraalVM-kompilatorens avancerede optimeringer.

For at hjælpe udviklere med at migrere fra Nashorn til GraalVM har Oracle Labs tilføjet et kompatibilitetsflag (—Kompatibel med nashorn), der fjerner behovet for kedelige omskrivninger for at flytte en Nashorn-applikation til GraalVM.

En fælles polyglot API i GraalVM giver interoperabilitet med understøttede sprog. Værdier kan overføres fra et sprog til et andet. Ingen kopiering eller opsamling er nødvendig.

GraalVM kan køre enten i sammenhæng med den JDK 8-baserede GraalVM-installation eller standard JDK-installationen, der starter med JDK 11, som ankommer i september. Selvom GraalVM ikke vil blive inkluderet i JDK, kan den køre på en standard JDK 11-installation ved at føje den til modulstien. GraalVM kan også integreres som en del af platforme som OpenJDK eller Node.js såvel som i en database.

Hvor downloades GraalVM

Du kan downloade GraalVM fra GraalVM-websiden, der linker til GitHub for den gratis Community Edition-version og til Oracle Technology Network for den betalte Enterprise Edition-version.

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