Secciones

Artículos para tus primeros pasos

Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos: 

Entrevistas con los expertos
 

Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:


Un proyecto de:
ImaginaWorks
Campus Escuela de Groovy

Entrevista con Andrés Almiray, líder del proyecto Griffon

miércoles 10/03/2010

Con motivo del lanzamiento de Griffon 0.3, hemos querido entrevistar a nuestro amigo Andrés Almiray para que nos cuente más detalles sobre el proyecto y las novedades de esta nueva versión.

¿Puedes contarnos quién eres y a qué te dedicas?

Mi nombre es Andres Almiray. Soy desarrollador de software de profesión y por gusto. Principalmente uso el lenguage Java pero últimamente le he tomado mucho cariño a Groovy.

¿Qué es Griffon?

Griffon es una herramienta de desarrollo para aplicaciones de escritorio y/o aplicaciones ricas en contenido para internet (o RIA por sus siglas en Inglés). Griffon se basa en las ideas (y código) de Grails por lo que ambos frameworks comparten muchas características comunes. En resumidas cuentas, Griffon te permite crear una aplicación con rápidez haciendo uso de convenciones similares a las de Grails; solo que no hay relación alguna con HTML ni servidores web, dado que la tecnología base usada en las vistas en Java Swing.


¿Qué novedades incluye la versión 0.3?

Básicamente la posibilidad de incluir bibliotecas y ficheros nativos. Es decir, si tu aplicación requiere de un fichero que sólo funciona en una plataforma específica (como por ejemplo SWT) entonces basta con seguir una convención de nombre de directorios, colocar el fichero en el directorio que le corresponde y listo! Griffon hace el resto por ti. Otra novedad es la mejoría en el soporte de contribuciones que un Addon (addon es un término que usa Griffon para describir lo que es un plugin en tiempo de ejecución, opuesto a un plugin normal que sólo es válido en tiempo de compilación o construcción) como lo son eventos de aplicación, estrategias varias para los builders (los builders son usados en las vistas -> SwingBuilder, GfxBuilder, etc). Esta versión habilita tambien una nueva generación de plugins (+70 y contando) como lo son Spring, JMX, I18n y los relacionados con NoSQL: db4o, neodatis, neo4j, couchdb, riak, berkeleydb; por mencionar algunos.


¿Qué necesito saber para empezar a trabajar con Griffon?

Algo de Java, algo de Groovy y muchas ganas para pasar un buen rato programando. Conocimientos básicos de Java Swing son deseables pero considero que Griffon te ayuda a captar dichos conocimientos de manera gradual, natural y divertida. El conocer Grails también ayuda a familiarizarse rápidamente con el flujo de trabajo pero no es un requisito indispensable.


¿Dónde puedo encontrar documentación?¿Existe algún libro sobre el framework?

El sitio del proyecto (http://griffon.codehaus.org) contiene información necesaria para obtener e instalar una copia de la versión mas reciente de Griffon. También provee vínculos adicionales a una guía de inicio rápida (http://griffon.codehaus.org/Quick+Start), asi como documentación de los builders (http://griffon.codehaus.org/Builders) y la lista de plugins (http://griffon.codehaus.org/Plugins) disponibles. Cabe mencionar también la disponibilidad de una serie de videos en http://www.griffoncast.com (en lengua inglesa) producidos por Todd Costella.

También existe un libro en proceso de edición, "Griffon in Action" (http://manning.com/almiray/), del cual me da mucho gusto ser el autor principal, junto con otro de los fundadores del proyecto: Danno Ferrin.

¿Cuál es el mejor IDE para trabajar con Griffon?

Personalmente no uso un IDE para desarrollar aplicaciones con Griffon, un simple editor de texto me es suficiente (tan simple como lo puede ser Vim). Sin embargo Intellij IDEA 9 incluye soporte para Griffon. Se rumorea por ahí que IDEA es el mejor IDE que existe hasta el momento para trabajar con Groovy y Grails, pot lo tanto no dudo que el soporte para Griffon sea excelente. También existe un plugin para NetBeans 6.x, el cual se basa en el soporte original para Grails, por lo que se encuentra ya en estado avanzado. No tengo noticias de algún plugin para Eclipe, pero confío en que pronto sabremos mas de él.

¿Qué ventajas supone sobre el uso de Swing 'a secas'?

Por donde empezar? Usar Swing 'a secas' pede ser tedioso dado que la sintáxis del lenguaje Java se mete en el camino de vez en cuando. Groovy por el otro lado permite el uso de Lenguajes de Dominio Específico (DSL por sus siglas en Inglés), los cuales facilitan la creación de código. En particular Griffon retoma SwingBuilder como DSL y lo lleva al siguiente nivel: es posible mezclar nodos de SwingBuilder con los de otros builders (como lo son GfxBuilder y JideBuildeR) de manera natural y sin puentes artificales aparentes. Griffon también se encarga de administrar el ciclo de vida de una aplicación (se basa en las lecciones aprendidas del JSR 296 Swing Application Framework). Otra características esencial es que toda aplicación Griffon posee la misma estructura base, todos los artefactos estan orgnaizados por tipo y responsabilidad.

¿Y sobre Netbeans / eclipse RCP?

A diferencia de las soluciones de RCP, Griffon no asume un arquetipo inicial, es decir, toda aplicación es libre de escoger como se organizan las vistas. Las opciones de RCP existentes son bastante modulares, Griffon lo es también. Sin embargo Griffon es capaz de producir aplicaciones que pueden ejecutarse en 3 modos: applet, webstart y normal; en contraste Eclipse RCP hace esta tarea un poco mas difícil dado que es necesario configurar ficheros adicionales dependiendo de la plataforma donde se ejecutará la aplicación. A pesar de esto, tanto Eclipse como NetBeans RCP proveen un número considerable de módulos que opacan el número de plugins que Griffon ofrece (+70 por el momento).

¿Cuándo se prevee alcanzar la versión 1.0?

Difícil responder con una fecha concreta por el momento, sin embargo podría considerarse una versión candidata a estatus 1.0 cuando:


- el sistema de compilación/construcción este alineado con Grails 1.2.1
- el sistema de pruebas permita la misma variedad de ejecución y plugins que Grails 1.2.1 permite.
- la documentación de las clases (groovydoc) y la Guía oficial se hayan completado.
- eliminar culaquier defecto grave en tiempo de ejecución

La comunidad Griffon ha expresado interés en otras características como lo son GORM y scaffolding (generación de vistas en base a clases de dominio). Dichas características serán distribuídas mediante plugins/addons por lo que no forman parte del alcance de la versión 1.0; estas características podrían ser liberadas antes de 1.0 por ejemplo.

¿Cuántos desarrolladores están trabajando en Griffon actualmente?

El equipo fundador consta de 3 personas, cada una contribuyendo a su propio nivel y tiempo (i.e, no existe un esfuerzo coordinado para  contribuir con tiempos mínimos ni líneas de codigo). A lo largo del tiempo se han unido varias personas mas (al menos 4) contribuyendo ideas, parches y plugins.

¿Conoces algún caso de éxito?

Por supuesto. El primero que viene a la mente es el caso de Sebastién Blanc (http://www.coderanch.com/t/483396/Groovy/Griffon-My-success-story). El comenta que usan Griffon como generador de ficheros que se usan como génesis de aplicaciones Flex. Existe otro caso de una empresa que se dedica a desarrollar video juegos; ellos usan Griffon para crear aplicaciones capaces de programación políglota (groovy + clojure).

¿Qué opinas sobre el nivel de aceptación que tiene Groovy entre las empresas de habla hispana?

Desconozco números concretos sin embargo estoy al pendiente del progreso de los muchachos de @sinergyj y el éxito que han tenido últimamente, ya que ellos son la punta de lanza respecto a Grails y Groovy en México. Notable por supuesto la fundación de http://www.escueladegroovy.com, confío que la reciente realización de Spring2gx Days en Madrid, organizado en gran medida por esta nueva empresa, halla causado un gran impacto en las empresas de la zona. Respecto a Latinoamérica, todo parece indicar que Groovy penetra el ámbito empresarial poco a poco, gracias al empuje de Spring y Grails en primer lugar; en segundo por la habilidad de Groovy para facilitar tareas mundanas haciendo uso de ficheros de guión (scripts).

Finalmente, ¿hay algo más que quieras comentar o añadir?

Por supuesto! Invitamos a participar en los foros de discusión a todo aquel que desee contribuir en el desarrollo y futuro de Griffon. El foro oficial se encuentra en http://xircles.codehaus.org/projects/griffon/lists/ (en Inglés), sin embargo existe un foro de habla hispana en http://es.debugmodeon.com/grupo/griffon.

Muchas Gracias!


Contenidos relacionados:



1 comentarios:

Entrevista con Andrés Almiray, líder del proyecto Griffon

Domingo Suarez - viernes 12/03/2010

Muchas gracias Andrés por la mención de @SynergyJ, aca en México estamos trabajando duro con estas tecnologías y seguiremos así. Saludos

Tienes que estar registrado para iniciar sesión y poder publicar tus comentarios