Camino a gvSIG 2.3: Nueva integración en las librerías de Scripting

scriptEste es el primer post de una serie de muchos en el que iremos explicando todas las novedades en el Módulo de Scripting, desde su nueva integración hasta las nuevas herramientas desarrolladas.

Un pequeño recordatorio sobre el Módulo de Scripting. El desarrollo de este está centrado sobre librerías y scripts en Jython, por su facilidad, versatilidad y potencia. Este lenguaje nos permite mezclar Java y Python en un mismo programa. Eso no quita que tengamos otras opciones a la hora de crear scripts como Groovy o R.

Esta nueva integración ya podéis probarla en la nueva gvSIG 2.3 RC2. Ya hemos encontrado algún bug en las librerías, si encontráis algo nuevo nos podéis informar en las Listas de gvSIG. Iremos sacando también nueva documentación para que podáis exprimirla a fondo.

Nueva integración

¿Qué hemos hecho?

Para la nueva versión de gvSIG 2.3 hemos realizado cambios importantes en la integración de las librerías de Python con la API de gvSIG. En esta nueva integración, hemos seguido una aproximación completamente diferente a la optada en las versiones anteriores.

En vez de reescribir todas las clases que ya tiene gvSIG implementadas en su API, lo que se ha hecho es inyectar métodos extra, programados en Jython, en estas clases de Java ya existentes en gvSIG. A raíz de esto, incluso hemos añadido métodos nuevo API de gvSIG dada su utilidad para que desarrolladores Java puedan también utilizarlos.

¿Por qué hemos hecho esto?

De esta forma disminuimos el esfuerzo requerido para mantener estas librerías, a la vez que aumentamos mucho la compatibilidad con el resto del API de gvSIG.

Uno de los fallos ocurridos en la versión anterior era la complicación de tener que trabajar a la vez con objetos Java y objetos Python, llevando a una incompatibilidad entre ellos y añadiendo una dificultad innecesaria en su desarrollo.

¿Qué implicaciones tiene?

De esta forma vamos a estar siempre trabajando con objetos de Java dentro de nuestros scripts (si estamos trabajando solo con la API de gvSIG).

Siempre recordar, que debido a que trabajamos con Jython, podremos crear clases que contengan características de los dos mundos Python y Java. Podemos importar librerías de Python, librerías Jython que mezclen Java y Python, y librerías Java que ya disponga gvSIG o externas.

¿Se mantiene la compatibilidad con la versión 2.2?

Pese a los cambios importantes que han habido a nivel interno, a nivel externo no se notarán tanto como podéis pensar. Hemos hecho lo posible para mantener compatibilidad con la 2.2. En las próximas semanas sacaremos un post hablando de estos cambios mostrando algo de código, algunos son cambiar en la ruta de las librerías, otros cambiar un par de líneas.

También hemos añadido una opción de compatibilidad para los scripts en la 2.2 que estamos testeando.

¿A qué parte de las librerías afecta esta implementación?

Principalmente a las clases que hacen referencia al tratamiento de datos. Hemos querido seguir simplificando esta parte para animar a los usuarios más nóveles interesados en generar geoprocesos nuevos o análisis de datos para poder hacerlo de una forma rápida y sencilla, tal y como habíamos preparado en la 2.2.

De la misma forma, hemos creado funciones que facilitarán la creación de objetos tales como capas, o el acceso a los ya cargados.

Las librerías de geometrías(geom) y de gestión de ventanas (commonsdialog) también han aumentado sus capacidades y facilidad de uso considerablemente.

Además, hemos desarrollado algunas librerías extras realizadas en Jython como es formpanel, que nos ayudará a generar scripts con interfaz gráfica, o clases que nos ayudarán a implementar scripts como geoprocesos en la Caja de Herramientas.

¿Qué ventajas tiene?

Facilitar mucho la comunicación entre nuestros scripts y la API de gvSIG. De esta forma queremos animar tanto a nuevos desarrolladores facilitando todas las operaciones típicas de tratamiento de datos, como a desarrolladores avanzados, asegurándonos la compatibilidad entre diferentes extensiones desarrolladas con Jython, Java y gvSIG.

 

Dado que hay muchos cambios en las librerías y en herramientas, os animamos a que nos informéis de errores que detectéis sobre las librerías de Scripting en las Listas de Usuarios o Desarrolladores.

This entry was posted in development, gvSIG Desktop, scripting, spanish and tagged , . Bookmark the permalink.

5 Responses to Camino a gvSIG 2.3: Nueva integración en las librerías de Scripting

  1. Pingback: Camino a gvSIG 2.3: Compatibilidad y cambios en scripts | gvSIG blog

  2. Pingback: Camino a gvSIG 2.3: Ejemplo de script con la nueva implementación | gvSIG blog

  3. Pingback: Camino a gvSIG 2.3: Insertar nuevos geoprocesos mediante Scripting | gvSIG blog

  4. Pingback: ¡gvSIG 2.3 ya está aquí! | gvSIG blog

Leave a comment