Nashorn — новый JavaScript для JVM


Oracle предложила новый проект OpenJDK для создания быстрого и легкого движка JavaScript, работающего на JVM. Сейчас идет голосование за проект Nashorn, немецкое название Rhino.

Движок Rhino JavaScript, поддерживаемый Mozilla, уже предоставляет реализацию Java. Он написан на Java и часто используется для реализации сценариев в программах Java. Новый проект направлен на использование современных дополнений к Java для ускорения работы.

Как говорится в предложении:

«мы хотели бы начать новый проект по реализации облегченной высокопроизводительной среды выполнения JavaScript на Java с собственной JVM. Этот проект предназначен для того, чтобы позволить разработчикам Java встраивать JavaScript в приложения Java через JSR-223 и разрабатывать автономные приложения JavaScript с использованием инструмент командной строки jrunscript «.

Несмотря на очевидное искушение включить существующий код в новый проект, намерение состоит в том, чтобы создать новую базу кода. С тех пор, как Rhino перешла к возможности Java поддерживать динамические языки, и вызовы API, такие как InvokeDynamic, должны привести к более быстрому и надежному коду без утечек памяти, от которых страдает Rhino.

«Объем этого проекта будет включать, помимо прочего, API синтаксического анализатора для сканирования исходного кода JavaScript, компилятор для преобразования AST из синтаксического анализатора в байтовый код JVM и среду выполнения для поддержки выполнения указанного сгенерированного байтового кода. »

Целевая версия JavaScript — ECMA-262 и ECMAScript 5.1.

Введение в Насхорн

У Oracle уже есть код, которым он планирует поделиться, если проект будет одобрен. Голосование проводится за текущих членов OpenJDK и закрывается 6 декабря.

Nashorn выглядит в основном заменой Rhino как способа встраивания скриптов в программы Java. Однако, если это произойдет так быстро, как было обещано, другие проекты JavaScript, такие как Node.js, могут рассмотреть возможность его использования. Движки JavaScript, основанные на C / C ++, обычно быстрее, чем даже JVM на основе JIT, но преимущество использования движка на основе JVM заключается в том, что он переносится. Везде, где может работать Java, может работать и Rhino, а вскоре и Nashorn.

JavaScript все еще не смог вырваться из среды своей клиентской среды, несмотря на растущий успех Node.js. Возможно, Nashorn предоставит способы запускать JavaScript не только в проектах Java, но и на рабочем столе, на сервере и, возможно, даже в браузере. В конце концов, байтовый код Java — гораздо более разумный выбор в качестве ассемблера для Интернета, чем JavaScript — или так?


Добавить комментарий