BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース NashornがRhinoの後継に - OpenJDKプロジェクトが採択

NashornがRhinoの後継に - OpenJDKプロジェクトが採択

ブックマーク

原文(投稿日:2013/01/17)へのリンク

 

OpenJDKの現 メンバ が,現在のJVM JavaScript実装であるRhinoの後継としてOracleのProject Nashornを採択した。NashornはJVMベースの新しいJavaScript実装で,2013年後半にJava 8と合わせてのリリースが予定されている。NashornによってJavaScriptのJavaアプリケーションへの組み込みや,スタンドアロンのJavaScriptアプリケーション開発が可能になる。

InfoQでは2012年11月に,John Coomes氏(OpenJDK HotSpot Groupリーダ)による,RhinoをNashornに置き換える 提案 について 取材している。昨年12月下旬の Nashornオフィシャルブログ によると,Jim Laskey 氏をリーダとするプロジェクトチームがOpenJDKプロジェクトに合流したようだ。また,オフィシャルブログの最新エントリに記されたところでは,Nashornのコードベースが公開され,開発者が自由に閲覧やビルド,試用をできるようになったという。Nashornを支援するプロジェクトチームは,より大きな統合作業を目指しているということだ。

Nashornはマルチランゲージ・プラットフォームとしてのJVMの妥当性向上を目的に,Oracleが2011年夏のJVM Language Summitで発表したものだ。2011年にリリースされたJava 7には,動的言語のニーズに応えることを主な目的とするJSR-292が実装されていた。2010年初頭にInfoQが包括的に取り上げたようにJSR-292は,invokedynamic 命令を追加することによって,非Java言語で定義されたリンク・アンド・ディスパッチのセマンティクスを持つメソッドをJavaバイトコードから起動可能にするものだ。その結果,JVM上に実装されている動的言語の多くが,invokedynamic を利用するために実装の更新を行うようになった。Jim Laskey氏は "Adventures in JSR-292 or How To Be a Duck Without Really Trying" と題した ビデオ で,NashornとJSR-292の関係を非常にうまく説明している。

JavaScriptをJVM上で動作させることの最大の利点は,すでに存在する膨大なJavaライブラリがアクセス可能になることだ。Nashorn のブログでは,Jimが Twitter4J と 1}JavaFX という2つのJavaライブラリを取り上げて,Nashornのシームレスな動作の として公開している。この2言語の相互運用は Dynalink ライブラリによって処理される。このライブラリはプログラムの実行環境において,オブジェクトの高レベル操作を参照するための一連の互換性規約を提供するもので,Javaプレーンオブジェクト用のリンカとともに公開されている。

Twitter4JJavaFX の例に関して,Jim Laskey氏は次のように述べている。

汎用クラスである FXCollections を,Nashornが巧妙に使用している点にも注目してください。最終的に observableArrayList(dates) をコールすることで,NashornがJavaScript配列 dates をJavaコレクションに自動変換します。どのオブジェクトが JavaScript でどれが Java なのかを区別することは,ほとんど不可能です。

JavaOne 2012では Nashorn プロジェクトチームに対して,NashornとNode.jarを中心とした数多くの質問が寄せられた。Node.jarはイベント駆動モデルとNode.jsのAPI,Nashornの機能,GlassFishの非同期ネットワークI/Oなどの機能に,NodeアプリケーションをJava SEあるいはJava EEで動作させるためのサポートを加えた,サーバ用のJavaScriptフレームワークである。JavaOneで得た反応からJim Laskey氏らNashornチームのメンバは,Nashorn + Node.jar の組み合わせが現在,開発コミュニティにおいて多くの関心を集めつつあることを確信している。

Oracle Nashorn JavaScriptチームには,JavaOne 2012サイト上にある BOF(Birds-of-a-Feather) メディアプレゼンテーション を通じて,バーチャルに会うことができる。

 

この記事に星をつける

おすすめ度
スタイル

BT