scripts programacion lenguaje entre diferencia codigo java scripting jsr223

java - programacion - ¿Dónde puedo encontrar una lista de lenguajes de scripts JSR-223 disponibles?



lenguaje javascript pdf (4)

Necesito un lenguaje de scripts basado en JVM para mi aplicación y me gustaría ver qué más hay además de Groovy, Ruby y Python.

Google me sigue señalando una página muerta en http://scripting.dev.java.net/


Esta no es una lista oficial, pero puede comenzar aquí: http://en.wikipedia.org/wiki/List_of_JVM_languages

Rhino (JavaScript) está implementado en Oracle JDK / JRE de forma predeterminada.

Con este código, puede ver qué lenguajes de scripting están disponibles en su JDK:

import java.util.*; import javax.script.*; public class A { public static void main( String[] args ) { ScriptEngineManager mgr = new ScriptEngineManager(); List<ScriptEngineFactory> factories = mgr.getEngineFactories(); for (ScriptEngineFactory factory : factories) { System.out.println("ScriptEngineFactory Info"); String engName = factory.getEngineName(); String engVersion = factory.getEngineVersion(); String langName = factory.getLanguageName(); String langVersion = factory.getLanguageVersion(); System.out.printf("/tScript Engine: %s (%s)%n", engName, engVersion); List<String> engNames = factory.getNames(); for(String name : engNames) { System.out.printf("/tEngine Alias: %s%n", name); } System.out.printf("/tLanguage: %s (%s)%n", langName, langVersion); } } }

Este ejemplo se obtuvo aquí: http://www.oracle.com/technetwork/articles/javase/scripting-140262.html

Es posible que desee probar Lua también. Eche un vistazo aquí: ¿cómo puedo incrustar lua en java?


La página anterior se encuentra aquí (descargar para ver, tipo de contenido incorrecto configurado en la respuesta) http://java.net/projects/scripting/sources/svn/content/trunk/www/index.html?raw=true

Los que están alojados en la página del proyecto JSR-223 se pueden ver en http://java.net/projects/scripting/sources/svn/show/trunk/engines pero la lista es:

Motores de script JSR-223

  • AWK
  • BeanShell
  • ejs
  • FreeMarker
  • Groovy
  • Jaskell
  • Java
  • JavaScript
  • JavaScript (navegador web)
  • Gelatina
  • JEP
  • Jexl
  • jst
  • JudoScript
  • JUEL
  • OGNL
  • Nueces
  • Pitón
  • Rubí
  • Esquema
  • Dormir
  • Tcl
  • Velocidad
  • XPath
  • XSLT

Motores de script JSR 223 mantenidos en otra parte

  • Script JavaFX
  • ABCL
  • AppleScript
  • Bex script
  • Proyecto de scripting OCaml
  • PHP
  • PHP (otro)
  • Pitón
  • Charla
  • CajuScript
  • MathEclipse

Para enlaces de descarga mire en el index.html que menciono arriba. Para cualquiera de los proyectos de java.net, simplemente elimine el desarrollador para que scripting.dev.java.net se convierta en scripting.java.net. Es posible que deba navegar en un repositorio para las páginas web antiguas.

Una cosa notable es que el motor de JavaScript (Rhino) está siendo completamente reescrito para Java 8. El nuevo nombre es Nashorn. Para más información, consulte: http://openjdk.java.net/projects/nashorn/


No estoy al tanto de una lista completa.

Sin embargo, vale la pena señalar que puede utilizar prácticamente cualquier lenguaje JVM incrustable para fines de scripting siempre que sea compatible con la compilación / ejecución dinámica en tiempo de ejecución. Realmente no importa si es JSR233 o no.

Por ejemplo, utilizo Clojure para scripting (con un DSL personalizado) en algunas de mis aplicaciones.

No lo he probado, pero creo que también puedes usar Scala: scala como lenguaje de scripting

FWIW, mis elecciones personales serían:

  • Clojure para capacidades expresivas de potencia / DSL (si usa la capacidad de creación de scripts usted mismo o con un equipo de expertos)
  • Groovy si su objetivo principal es la facilidad de uso para los usuarios finales (debido a la simplicidad y similitud con Java)