JavaでJavaScriptを実行する「Nashorn」が非推奨に、ECMAScriptの速い進化に追いつけないと。代替案はGraalVM

2018年6月7日

JavaでJavaScriptエンジンを実装し、JavaVM上でJavaScriptを実行可能にする機能「Nashorn」は、JDK 8で新たに搭載された機能でしたが、2018年5月8日付けで登録された「JEP 335: Deprecate the Nashorn JavaScript Engine」で非推奨(depricated)となり、将来的には廃止されることになりそうです。

Nashornが非推奨に

JavaVM上でJavaScriptを実行する機能としては、Nashorn登場以前からMozillaが開発したオープンソースのRhinoが存在しており、Java 6からサポートされていました。

NashorhはこのRhinoを置き換える形でオラクルが開発を始め、ECMAScript 5.1に対応したより高速でセキュアなJavaScriptエンジンとしてJDK 8に搭載されました(JEP 174: Nashorn JavaScript Engine)。

しかし今回のJEP 335で非推奨となり、将来的にはこの機能がJDKからなくなることが予想されます。

非推奨の理由として、JavaScriptの言語仕様を策定しているECMASccript仕様の進化が速く、それに追随していくのが難しくなっていることが挙げられています(下記は「JEP 335: Deprecate the Nashorn JavaScript Engine」のMotivationの項目から引用)。

With the rapid pace at which ECMAScript language constructs, along with APIs, are adapted and modified, we have found Nashorn challenging to maintain.

Nashornが非推奨となることに対する代替措置として提案されているのが、オラクルが多言語対応VMとして開発を進めているGraalVMおよびそのうえでJavaScriptを実行可能にするGraalJSの利用です。GraalVMは単一のVMとしてJavaやJavaScriptだけでなくRubyやPythonなども実行可能な仮想マシン。

すでにTwitterがGraalVMを本番環境に投入していると説明されており実用度も高そうなため、今後はGraalVMの存在感が高まってくるかもしれません。

あわせて読みたい

Java JavaScript プログラミング言語 GraalVM




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本