2015-02-27 3 views
2

Недавно Oracle выпустила Java 8, которая включает Oracle Nashorn в качестве механизма JavaScript. Работает ли Nashorn только одним способом: вы можете преобразовать код JavaScript в байт-код Java? Или есть ли способ использовать его для преобразования кода Java в код JavaScript?Можно ли использовать Nashorn для преобразования Java-кода в Javascript?

+1

Единственное, что я знаю, чтобы преобразовать/компиляции Java в JavaScript является Google Web Toolkit (GWT) – alkis

+0

Я не думаю, что Nashorn генерирует любой байткод - это метод обрабатывает весь путь вниз. –

+0

Можете ли вы проверить, соответствует ли мой ответ? –

ответ

1

Официальная страница Project Nashorn говорит: цель

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

Так что это не цель проекта Nashorn для преобразования Java-кода в Javascript.

Вы можете использовать вместо этого GWT compiler, который это делает.

GWT SDK предоставляет набор основных API-интерфейсов Java и виджетов. Они позволяют вам написать приложения AJAX в Java, а затем скомпилировать исходный код высоко оптимизированный JavaScript, который работает во всех браузерах, в том числе мобильных браузеров для Android и iPhone.

Остерегайтесь того, что можно эмулировать только часть Java Runtime Library, вы можете найти список под этим link.

gwt-exporter также является полезным инструментом для вашей цели.

Разработка приложения или библиотеки в GWT и использовать gwtexporter аннотаций, чтобы сделать классы и методы, доступные из JavaScript.

+0

Насколько я знаю, инструментальная цепочка GWT обнаруживает, какой Java-код необходим на стороне клиента и конвертировать в js только эти фрагменты. – aalku

+0

Я изменил свой ответ, чтобы учесть ваше замечание. –

+0

sweeeeet отличный ответ ya'll! –

Смежные вопросы