Contribuye

El desarrollo en Grails no necesita más que un editor de texto, pero hay herramientas más sofisticadas para incrementar la productividad. Características como el resaltado de sintaxis, la ejecución de comandos propios, entre otros, los hacen buenas alternativas. Y como en gustos se rompen géneros, hay para todos. Hablaremos de algunos IDEs que soportan integración con Grails, en mayor o menor medida. Si el que Usted utiliza no está en esta lista, sírvase comentarlo para incluirlo.

 


 

Comienza esta lista el preferido por muchos, el comercial y robusto IntelliJ IDEA IDE. Tras instalar Groovy y Grails, descargue e instale IntelliJ IDEA desde http://www.jetbrains.com/idea/download/. Estando instalado, en el cuadro de diálogo Settings en IntelliJ IDEA, descargue e instale el plug-in JetGroovy y configúrelo seleccionando las rutas a Groovy y a Grails. Opcionalmente puede descargar e instalar InspectorGroovy, un plug-in con inspecciones de código específico de Groovy.

Una vez realizado esto, en el cuadro de diálogo ‘New Project’ (nuevo proyecto) aparece el tipo ‘Grails Application’ (aplicación Grails). Con ello se comienza un projecto Grails como cualquier otro en IntelliJ IDEA. Especificando el nombre y lugar, se genera la estructura. Y si acaso se necesitara, tiene resaltado de sintaxis para afinar cualquier detalle, y con la asistencia de código para objetos Grails, la vida es más sencilla. En la vista de projecto (Project View) se pueden generar clases y editar archivos gsp generados, pudiéndose usar clases y bibliotecas definidas en un plugin de Grails.

 


 

El siguiente en la lista, NetBeans IDE. Desde la versión 6.5, tiene soporte nativo para Groovy y Grails. Sólo hay que descargar e instalarlo. Una vez instalado, en la ventana Options (opciones), bajo Miscellaneous (diversos) seleccione la ruta de Grails en el panel ‘Groovy’. Si se usa MacOS X, Miscellaneous se encuentra bajo ‘NetBeans Preferences’.

Para crear la aplicación:

1. Seleccione el proyecto con el Asistente de Nuevo Proyecto, dele nombre y localización. Se generarán los archivos necesarios y se completarán valores predeterminados.

2. Cree la clase de dominio, dando clic derecho al nodo ‘Domain classes’. Nombre la clase de dominio ‘Book’ (Book.groovy) y llene dos stings, ‘title’ y ‘author’.

class Book {
    String title
    String author
 }
 

y cree valores iniciales en la clase Bootstrap.groovy:

class BootStrap {
    def init = { servletContext ->
        //Aquí se crea la información de prueba
        new Book(author:'Domingo Suárez',title:'SpringHispano in Action').save()
        new Book(author:'José Juan Reyes',title:'Grails.org.mx in Action').save()
        }
        def destroy = {
        }
    }
 

3. Cree el controller. Dé clic derecho al nodo Controllers. Escriba ‘Book’ y vea que se generará la clase ‘BookControler’. Comente con diagonales la línea autogenerada y agregue ‘def scaffold = Book’, para que luzca aquél BookController.groovy algo así:

class BookController {
    //def index = { }
    def scaffold = Book
 

4. Por último, dé clic derecho a la aplicación y seleccione ‘Run’. La aplicación se despliega a jetty, como se puede apreciar en la ventana Services. De allí, hasta el infinito.

 


 

La integración de Eclipse IDE con Grails está en proceso. Se puede, hasta cierto punto, trabajar con un grado mediano de comodidad en él. Empero, no debería ser la elección en un ambiente de producción. Si tiene paciencia para los pequeños (pero en momentos engorrosos) detalles (o bugs) del proyecto, puede ir observando su progreso, que poco a poco está completando su desarrollo. Las siguientes observaciones son precisamente por este carácter de ‘en desarrollo':

La primera consideración con Eclipse es que se sabe que no correrá apropiadamente si se intenta usar el directorio raíz de su unidad de almacenamiento para su proyecto, o rutas con espacios.

Se necesita enunciar la variable GRAILS_HOME, además de en el ambiente estándar, en Eclipse. Dentro de Windows > Preferences… > Java > Build path > Classpath Variables > New introduzca dicha variable.

Al crear un nuevo proyecto, Eclipse creará los archivos necesarios. Si el proyecto Grails que esté trabajando tiene plugins instalados, necesita agregarlos a los directorios directamente dentro del folder plugins/src/ de su ruta de fuentes de Eclipse. Esto se realiza dando clic derecho al folder ‘Groovy’ o ‘Java’ y seleccionando build path > source. De lo contrario, se objetndrán errores en los enunciados de importación.

Si se están usando JSPs necesiará agregar la biblioteca tools.jar de su JDK al classpath del proyecto o jetty desplegará errores de compilación.

Si se está usando el plugin Groovy de Eclipse asegúrese de habilitar la preferencia ‘Disable Groovy Compiler Generating Class Files’ (en Project > Preferences > Groovy Project Preferences, o si usa una versión muy anterior, en Windows > Preferences > Groovy Preferences). Predeterminadamente esta opción está deshabilitada y genera archivos de clase para sus archivos groovy, almacenándolos en el basedir del proyecto Grails. Cuando se generan estos archivos, hay comportameinto inesperado como no poder generar controladores y vistas para sus clases de dominio. Empero, si va a usar el Step Debugging de Eclipse, asegúrese de desabilitar esta preferencia.

Si presenta todavía problemas, muy probablemente esté faltando una biblioteca. Asegúrese que todas se agreguen al build path del proyecto.

 


 

Y ya encarrerados con IDEs que tienen soporte parcial para Groovy y Grails, Geany (http://www.geany.org/) tiene soporte para Groovy desde la versión 0.17 y no requiere mayor configuración. No obstante, por ahora sólo soporta completar código para las clases locales, lo cual no es muy útil. Esto se está actualizando, pero yo no esperaría la solución muy pronto.

 


 

En la siguiente entrada se mencionarán los editores de texto con características adicionales.

A manera de comentario. Tengo entendido que tanto KDevelop como Anjuta están desarrollando soporte para Groovy y Grails, pero en ningún lado encuentro en qué estado se encuentran. ¿Alguien sabe algo al respecto?

Actualización 2 julio ’09. Me habían señalado, y se me olvidó mencionar, para quienes trabajan ‘en la nube’ a Aptana Cloud. Tiene soporte para Java, Groovy y Rails, además de PHP, Rails, Jaxer y próximamente Python. Bastante amigable, y con posibilidades de cuentas sin tener que pagar mensualidad alguna. Conozco gente quien piensa que la nube es lo de hoy. Sólo menciono la alternativa.

comments powered by Disqus