Преимущества использования Rhino (носорог мозиллы)
Я читал о Rhino как полезный способ реализовать JavaScript внутри своего Java-кода.
После некоторого времени прочтения в google и здесь я не мог найти реальной причины, по которой я бы использовал JavaScript внутри Java.
Не могли бы вы указать некоторые преимущества реального мира, которые вы найдете при использовании Rhino для обычного Java-приложения?
Ответы
Ответ 1
- Обработка XML с помощью Rhino и E4X - это радость по сравнению с большинством Java XML API
- У вас есть JavaScript, который "просто работает", и вы не хотите его переписывать. Это может произойти, если у вас есть некоторые вычисления или обработка, происходящие на стороне клиента, и переместите их на сервер.
- Все виды аккуратного кэширования и загрузки кода.
- Ваша проблема лучше решается более динамичным языком, чем Java.
- Сопоставление списков;)
Ответ 2
Обратите внимание, что с Java 6 скриптовый API находится в стандартной библиотеке Java - см. документацию пакета javax.script
. API в javax.script
- адаптированная версия Rhino. API-интерфейс сценариев поддерживает не только JavaScript, но и многие другие языки сценариев.
См. Руководство для программистов по сценариям Java
На первой странице указаны некоторые причины, по которым вы можете использовать скрипты:
- Расширение/настройка приложения. Вы можете "экстериозировать" части вашего приложения - например, сценарии конфигурации, бизнес-логику/правила и математические выражения для финансовых приложений.
- "Командная строка" оболочек для приложений - для отладки, времени выполнения/времени развертывания и т.д. В большинстве приложений в настоящее время для веб-интерфейса используется инструмент настройки графического интерфейса. Но sysadmins/deployers часто предпочитают инструменты командной строки. Вместо того, чтобы изобретать язык сценариев ad-hoc для этой цели, можно использовать "стандартный" язык сценариев.
Пример. Вы можете script Oracle Weblogic использовать сценарии Python, например, настроить домен вашего сервера приложений, запустить или остановить сервер и выполнять другие задачи администрирования.
Ответ 3
Преимущество внедрения языка script, такого как javascript, в ваше программное обеспечение заключается в том, что вы можете предложить другим возможность писать плагины для вашего программного обеспечения, не отдавая исходный код.
Причиной написания всего приложения на другом языке является то, что вы можете написать приложение для компании, которая развертывает его в своей среде Java EE без необходимости изучения Java.
Ответ 4
Мы используем JS (через Rhino) для DSL в одном из наших продуктов. Это не отличный DSL, но это вина того, как мы используем JS, а не Rhino.
Ответ 5
Если вы рассматриваете также .Net, я предлагаю ладить с Rhino.
Помимо среды Java, носорог - один из лучших интерпретаторов производительности в среде .NET(с использованием IKVM). С другой стороны, nashorn очень медленно на .net.
Портирование собственного проекта Rhino на .NET не так сложно.