Programmēšana

Oracle: Pārslēdzieties no Nashorn JavaScript dzinēja uz GraalVM

Plānojot gaidāmajā Java Development Kit (JDK) 11 novecot Nashorn JavaScript dzinēju, Oracle mudina izstrādātājus tā vietā ieskatīties GraalVM virtuālajā mašīnā. Oracle saka, ka tas ir vairāk spējīgs nekā Nashorn, un tas ir izveidojis migrācijas ceļu no Nashorn uz GraalVM. Oracle dažus gadus plāno atbalstīt Nešornu, lai nodrošinātu laiku migrācijai.

Tāpat kā Nešorns, arī GraalVM atbalsta JavaScript JVM. Bet GraalVM nav atkarīgs no pašas Java.

Oracle minēja vairākas priekšrocības, kuras GraalVM ir ieguvis pār Nešornu:

  • Pilnīgāka JavaScript standartu ieviešana, nodrošinot atbalstu ECMAScript 2016 un ECMAScript 2017 izdevumiem un zināmu atbalstu ECMAScript 2018.
  • Pilnīgs Node.js servera puses JavaScript platformas atbalsts, kas ir saderīgs ar gandrīz visiem Node.js moduļiem.
  • Spēja izpildīt papildu valodas, tostarp Python, R un Ruby.
  • Labāka veiktspēja nekā esošajiem JVM balstītajiem dzinējiem un spēja izmantot GraalVM kompilatora uzlabotās optimizācijas.

Lai palīdzētu izstrādātājiem migrēt no Nashorn uz GraalVM, Oracle Labs ir pievienojis saderības karodziņu (—Nešorns-tautietis), kas novērš nepieciešamību pēc garlaicīgiem pārrakstījumiem, lai Nashorn lietojumprogrammu pārvietotu uz GraalVM.

GraalVM kopējā poliglota API nodrošina savietojamību ar atbalstītajām valodām. Vērtības var tikt nodotas no vienas valodas uz otru. Kopēšana un šķirošana nav nepieciešama.

GraalVM var darboties vai nu saistībā ar JDK 8 balstīto GraalVM instalāciju, vai arī standarta JDK instalāciju, sākot ar JDK 11, kas pienāk septembrī. Lai gan GraalVM netiks iekļauts JDK, to var palaist standarta JDK 11 instalācijā, pievienojot to moduļa ceļam. GraalVM var arī iegult kā daļu no platformām, piemēram, OpenJDK vai Node.js, kā arī datu bāzē.

Kur lejupielādēt GraalVM

Jūs varat lejupielādēt GraalVM no GraalVM tīmekļa vietnes, kurā ir saites uz GitHub bezmaksas kopienas versijai un uz Oracle tehnoloģiju tīklu apmaksātai Enterprise Edition versijai.

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