La idea de este proyecto es explorar posibilidades de scripting para que usemos en nuestros proyectos GeneXus.
Inicialmente, esto se centraba sólo en crear -con GX- un parser propio, un intérprete que se apoyara en el tipo de datos Expression, los SDTs recursivos y la funciones RegEx.
Sin embargo, considerando que existen implementaciones para scripting en Java y Net, parece muy conveniente buscar la forma de usarlas directamente en nuestros desarrollos con GX, incorporando código nativo y/o componentes externos si fuese necesario.
Miguel Figueroa J. (miguel.figueroa.j@gmail.com)
Este proyecto está abierto a que se integren colaboradores. Idealmente, quienes quieran cooperar más allá de los CP2.
Pueden darle una mirada a la KB en: ufProject
(en construcción)
(en construcción)
Empezando con Java
Java SE 6 incluye los class del API JSR223: "Scripting for the JavaTM Platform". Este framework puede ser usado para embeber Script Engines en aplicaciones Java. En esa línea, el JRE incluye un scriptengine basado en Rhino: "JavaScript for Java" version 1.6R2 .-
Algunos otros lenguajes (scriptengines disponibles) que podemos usar son: el propio Java, Ruby, Groovy, Jaskell, Jython, etc..
Pero, para empezar, nos ocuparemos sólo de Javascript. Y las cosas concretas a conseguir serían:
- Código nativo embebido en objetos GeneXus, que sea necesario para instanciar el scriptengine y evaluar los scripts del usuario.
- Classes java implementando objetos y métodos que puedan ser útiles en los scripts. Por ejemplo, para obtener una conexión JDBC.
- Reutilizar una instancia de scriptengine, para casos de múltiples invocaciones de un script
- Compilar a bytecode Java
- Ejemplo de integración en una aplicación
Para la edición de los scripts en webforms podremos aprovechar el usercontrol EditArea, que es un editor de texto con coloreo de sintaxis.
Webpanel de visualización de un Javascript (coloreo de sintaxis con el usercontrol EditArea).
(en construcción)
(en construcción)
(en construcción)
Ficha
Proyecto: | ufProject!
|
Breve Descripción | Scripting Javascript y otros lenguajes Server-Side, para usar con GX Java y .Net
La idea es que aprendamos a incorporar scriptengines, disponibles para Java y Net, en nuestras aplicaciones GX y en base a ello dar a los usuarios soluciones más dinámicas y customizables, en las cuales puedan definir fórmulas, reglas de negocios, etc. |
Documentación | ufProject! en el Community Wiki |
KB | ufProject |
Miembros | miguel.figueroa.j@gmail.com |