Grails
es un framework para aplicaciones web libre desarrollado sobre el lenguaje de programación Groovy (el cual a su vez se basa en la Java platform). Grails pretende ser un marco de trabajo altamente productivo siguiendo paradigmas tales como convención sobre configuración o no te repitas (DRY), proporcionando un entorno de desarrollo estandarizado y ocultando gran parte de los detalles de configuración al programador.
Grails ha sido impulsado principalmente por la empresa G2One,1 la cual fue adquirida por la desarrolladora de software libre SpringSource en noviembre de 2008.2 En agosto de 2009 SpringSource fue a su vez adquirida por VMWare, empresa especializada en virtualización de sistemas. 3
Grails se ha desarrollado con una serie de objetivos en mente:
Ofrecer un framework web de alta productividad para la plataforma Java.
Reutilizar tecnologías Java ya probadas como Hibernate y Spring bajo una interfaz simple y consistente.
Ofrecer un framework consistente que reduzca la confusión y que sea fácil de aprender.
Ofrecer documentación para las partes del framework relevantes para sus usuarios.
Proporcionar lo que los usuarios necesitan en áreas que a menudo son complejas e inconsistentes:
Framework de persistencia potente y consistente.
Patrones de visualización potentes y fáciles de usar con GSP (Groovy Server Pages).
Bibliotecas de etiquetas dinámicas para crear fácilmente componentes web.
Buen soporte de Ajax que sea fácil de extender y personalizar.
Proporcionar aplicaciones ejemplo que muestren la potencia del framework.
Proporcionar un entorno de desarrollo orientado a pruebas.
Proporciona un entorno completo de desarrollo, incluyendo un servidor web y recarga automática de recursos.
Grails se ha diseñado para ser fácil de aprender, fácil para desarrollar aplicaciones y extensible. Intenta ofrecer el equilibrio adecuado entre consistencia y funcionalidades potentes.
Alta productividad
Grails tiene tres características que intentan incrementar su productividad comparándolo con los framework Java tradicionales:
Inexistencia de configuración XML.
Entorno de desarrollo preparado para funcionar desde el primer momento.
Funcionalidad disponible mediante métodos dinámicos.
Inexistencia de configuración XML
Crear aplicaciones web en Java tradicionalmente implica configurar entornos y frameworks al inicio y durante el desarrollo. Esta configuración a menudo está en ficheros XML para facilitar dicha configuración y evitar tenerla en el código fuente. XML fue inicialmente bienvenido para proporcionar consistencia para configurar aplicaciones. Sin embargo aunque el XML es muy útil para la configuración resulta complicado y tedioso utilizarlo para los entornos de desarrollo. La productividad de los programadores baja mucho mientras pasan tiempo configurando y manteniendo los frameworks mientras la aplicación crece. Añadir o modificar configuración en las aplicaciones que utilizan la configuración XML añade un paso extra al proceso de escribir aplicaciones que repercute en la productividad, reduciéndola y hace que el proceso completo sea poco ágil.
Grails elimina la necesidad de configurar ficheros XML. En su lugar el framework utiliza una serie de reglas de convención mientras examina el código de las aplicaciones basadas en Grails. Por ejemplo, una clase que termina en Controller es considerada un controlador web.
Entorno de desarrollo preparado para funcionar desde el primer momento
Mientras usamos herramientas Java tradicionales, es tarea del desarrollador ensamblar los componentes, lo cual puede ser tedioso. Grails tiene un servidor web integrado preparado para desplegar la aplicación desde el primer momento. Todas las librerías requeridas son parte de la distribución de Grails y están preparadas para ser desplegadas automáticamente.
Funcionalidad disponible mediante métodos dinámicos
Grails proporciona métodos dinámicos en varias de sus clases. Un método dinámico se añade a la clase en tiempo de ejecución, como si su funcionalidad hubiera sido compilada. Estos métodos dinámicos permiten a los desarrolladores realizar operaciones sin tener que implementar interfaces o heredar clases base. Grails proporciona método dinámicos basándose en el tipo de clase. Por ejemplo, la clases de dominio tienen métodos para automatizar operaciones de persistencia, como save para salvar, delete para borrar y find para buscar.
No hay comentarios:
Publicar un comentario