Griffon es un framework de plataforma cliente enriquecida de código abierto que utiliza los lenguajes de programación Java , Apache Groovy y/o Kotlin . Griffon está diseñado para ser un framework de alta productividad, ya que fomenta el uso del paradigma Modelo-Vista-Controlador, proporciona un entorno de desarrollo independiente y oculta gran parte de los detalles de configuración al desarrollador.
La primera versión es fruto del esfuerzo del equipo de Groovy Swing y un intento de aprovechar lo mejor del desarrollo rápido de aplicaciones, como lo demuestran su estructura tipo Grails, la agilidad de Groovy y la disponibilidad de componentes para Swing. El framework se rediseñó desde cero para la versión 2, lo que permite utilizar diferentes lenguajes de programación JVM de forma aislada o conjunta. Los kits de herramientas de interfaz de usuario compatibles son:
- Java Swing
- JavaFX
- Apache Pivot
- Linterna
Descripción general
Griffon busca reducir la confusión típica que surge con el desarrollo de interfaces de usuario Java tradicionales. Gracias a la estructura MVC de Griffon, los desarrolladores nunca tienen que buscar archivos ni confundirse sobre cómo iniciar un nuevo proyecto. Todo comienza con:
lazybones crear <template_name> <APP_NAME>
El proyecto generado sigue esta estructura:
%PROYECTO_INICIO% + aplicación grifo + conf ---> ubicación de los artefactos de configuración como la configuración del constructor + controladores ---> ubicación de las clases de controlador + i18n ---> ubicación de los paquetes de mensajes para i18n + ciclo de vida ---> ubicación de los scripts del ciclo de vida + modelos ---> ubicación de las clases de modelos + recursos ---> ubicación de recursos que no son código (imágenes, etc.) + vistas ---> ubicación de las clases de vista + fuente + principal ---> opcional; ubicación de los archivos fuente de Groovy y Java (de tipos distintos a los de griffon-app/*)
La infraestructura del constructor permite una integración perfecta de diferentes bibliotecas de widgets como Swing, JIDE y SwingX.
En la primera versión se incluyen tres aplicaciones de ejemplo :
- Greet, un cliente de Twitter Groovy presentado en el JavaOne 2009 Script Bowl,
- FontPicker, una aplicación para ver las fuentes disponibles en la máquina,
- SwingPad, una aplicación de diseño ligera para interfaces de usuario de Griffon.
Plugins
Griffon se puede ampliar mediante el uso de complementos. Los complementos proporcionan acceso en tiempo de ejecución a bibliotecas de prueba como Easyb y FEST, y todas las bibliotecas de widgets, excepto Swing básico, se proporcionan como complementos. El sistema de complementos permite una amplia gama de adiciones, por ejemplo
- Programación políglota con Java , Apache Groovy y Kotlin .
- Almacenes de datos SQL y NoSQL como BerkeleyDB, CouchDB, Db4O, Neo4j, NeoDatis, Memcached y Riak.
Publicaciones
Libros
En estos libros se presentaban características que con el tiempo se convertirían en partes integrales de Griffon (creadores de interfaces de usuario):
- Groovy In Action (publicado por Manning)
- Comenzando con Groovy y los Grials
Libros que tratan sobre Griffon:
- Griffon en acción (publicado por Manning)
- Comenzando con Groovy, Grails y Griffon
Revista
- GroovyMag para desarrolladores de Groovy y Grails
Véase también
Referencias
- Artículo de Guillaume Laforge (Jefe de Proyecto del Lenguaje Groovy) : Griffon muestra sus garras: se lanza un marco de trabajo cliente Swing enriquecido al estilo Grails.
- Artículos del equipo de Griffon : Griffon y Greet: Empezando a ponerse en marcha (Archivado el 7 de diciembre de 2021 en Wayback Machine) , Revisando la regla de enhebrado oculta , Griffon alza el vuelo , Despertando a Griffon
- Artículo de un redactor técnico del equipo de documentación de NetBeans en Sun Microsystems : Notas sobre la conversión del soporte para NetBeans Grails al soporte para NetBeans Griffon , Las 5 mejores cosas de Griffon , Griffon: Descubriendo el lado oscuro de Java
Enlaces externos
- Página principal de Griffon
- Herramientas de programación
- Java (plataforma de software)