Programmering

Nashorn JavaScript-motor til JVM kunne være akset

Nashorn, JavaScript-motoren til Java Virtual Machine, kunne udfases efter at være blevet forældet af nyere teknologier.

Nashorn debuterede i Java Development Kit (JDK) 8 i 2014. Det har øget kompatibiliteten mellem Java og JavaScript, samtidig med at det giver ydelsesfordele. Men det hurtige tempo i forandring af ECMAScript-sprogkonstruktioner og API'er har gjort det "udfordrende" at vedligeholde Nashorn, ifølge det officielle forældelsesforslag, der flyder i OpenJDK Java-samfundet.

Der er også andre implementeringer af JavaScript, som Java-applikationer kan bruge. For eksempel kan GraalJS snart være tilgængelig som et modul for udviklere. Det bruger Oracle's Truffle-bibliotek til at implementere sprog og giver det meste af den samme funktionalitet som Nashorn. Men der er ingen aktuelle planer om at tilføje GraalJS eller nogen anden ny JavaScript-implementering til selve JDK.

Nashorns API'er og JJS-værktøjet skal også udfases. Ikke påvirket af afskrivningen er javax.script scripting API.

Ved at fjerne Nashorn kan nogle applikationer muligvis ikke længere køre på grund af en forventning om JavaScript-tilstedeværelse. Hvor meget Nashorn er blevet brugt, har ikke været let at spore, så Java-fællesskabsprocessen søger information om dens faktiske brug.

De specifikke moduler, der skal udfases, inkluderer:

  • scripting.nashorn -, som indeholder jdk.nashorn.api.scripting og jdk.nashorn.api.tree pakker.
  • scripting.nashorn.shell -, som indeholder JJS-værktøjet.
  • jdk.dynalink -, som har Dynalink supportbiblioteket.