Языки Java + Scripting (JSR 223) - PullRequest
       9

Языки Java + Scripting (JSR 223)

7 голосов
/ 20 июля 2009

Я разрабатываю фреймворк, который хочу присоединить к API языка сценариев, чтобы сделать его более универсальным и простым в использовании (в некоторых случаях я действительно предпочитаю способ сценариев самостоятельно;). С такими языками, как JRuby, Jython или Rhino (JavaScript), доступны интерпретаторы для многих популярных языков сценариев, и, насколько я читал, все они реализуют API языка сценариев Java для встраивания их в ваше приложение Java.

У вас есть опыт работы с этим? Я особенно заинтересован в обработке, например, ассоциативные массивы (или Java Beans). Какова производительность (например, по сравнению с CGI-подобным подходом или нативным способом Java)? Будет ли легко переключаться между разными интерпретаторами (конечно, это спецификация API, но я до сих пор не знаю, как решать специфичные для языка проблемы)?

1 Ответ

5 голосов
/ 20 июля 2009

Я управлял Rhino, Jython, JRuby и Groovy. Существует очевидная языковая разница между ними, и производительность довольно низкая. Я обнаружил, что Groovy был самым простым в создании доменно-ориентированного языка (DSL) для моего приложения. Groovy был также самым простым языком для управления с точки зрения доступности пакетов и переменных времени выполнения, но для этого требовалось использовать Groovy API вместо JSR-223.

Мне кажется, что инструментальные средства / документирование / API Groovy лучше работают с JVM, но, конечно, у ruby ​​/ python есть довольно много интересного, и для некоторых синтаксис может быть более удобным. В конце концов я бы попробовал их все в вашей структуре и выбрал бы один. Несколько языков сценариев звучат хорошо, но может быть головной болью для отладки / поддержки / перехода.

после того, как: вы можете проверить в BeanShell

...