charla grails
TRANSCRIPT
Grails
Temario
• ¿Que es Grails?
• Groovy
• Características generales
• Objetivos
• Componentes
• Apuesta
• Arquitectura
• Crear Proyecto
Grails• Q
• Grails es un framework (Libre) para aplicaciones web desarrollado sobre el lenguaje de programación Groovy(Lenguaje de programación orientado a objetos).
• Tiene base en otros proyectos open-source como Spring, Hibernate y SiteMesh
• Es la respuesta de java a Ruby on Rails.
• Versiones : Marzo 2006 v0.1
Febrero 2008 v1.0
Diciembre 2009 v1.2
Mayo 2010 v1.3
Que es Groovy?
• Lenguaje de tipado dinámico ()
• Se compila y ejecuta en una JVM(Java Virtual Machine).
• Su desarrollo se inspiro en SmallTalk, Python y Ruby.
• A simple vista, el código Groovy se asemeja mucho al código Java con algunas excepciones, como la declaración de tipos, la opcionalidad de los puntos y comas al final de cada sentencia y de paréntesis en métodos con al menos un parámetro.
Características de Grails
• Aplica paradigmas tales como convención sobre configuración o no te repitas (DRY).
• Se basa en el patrón MVC.
• Tiene todo lo necesario para desarrollar aplicaciones Web.
• Soporta Ajax.
• Posee buena documentación.
• Es multiplataforma.
• Esta en constante desarrollo.
• Actualmente existen más de 250 plugins en el repositorio oficial, los cuales brindan herramientas que van desde el envío de mails hasta la generación de la aplicación utilizando Adobe Flex.
• La funcionalidad que más parece impactar al nuevo usuario es la denominada “scaffolding” y permite, a partir de una clase de dominio, generar el comportamiento para listado, creación, edición y eliminación de objetos de dicha clase, con la ejecución de un simple comando.
• Consta de una DB propia, HSQLDB es una base de datos hecha totalmente en java.
Objetivos de Grails
• Reutilizar codigo
• Desarrollar aplicaciones web de forma rapida y sencilla.
• Utilizar los mejores componentes actualmente utilizados.
• Grails provee “el pegamento”, de tal forma que el desarrollador no genere uno propio.
• Tener como aliado, metodologias de desarrollo agiles(XP,AD)
Componentes de Grails
• Hibernate: Es el framework de persistencia más adoptado en aplicaciones web y se basa en el mapeo de objetos a entidades relacionales.
• Spring : Este framework cuenta con varios módulos que proveen un amplio rango de servicios entre los cuales podemos encontrar la inversión de control, acceso a datos, manejo de transacciones, entre otros.
• Quartz: Un framework que permite realizar tareas programadas.
• SiteMesh : Framework robusto y estable para renderizar layouts.
Apuesta Grails
• Convención sobre configuración : Eliminar archivos de configuración y reemplazar por convenciones preestablecidas, tomadas directamente desde el código fuente.
• Don´t repeat yourself : Mas conocido como DRY, implementar estructuras reutilizables.
Arquitectura de Grails
Lo necesario para Grails
• Descargar e instalar el entorno de desarrollo grails desde http://docs.codehaus.org/display/GRAILS/Download
• Se recomienda JDK 1.5 o superior.
• Crear las variable de entorno GRAILS_HOME, JAVA_HOME y PATH
Crear un proyecto
Grails create-app GestionCharlas
Estructura del proyecto
• Grails create-domain-class Evento
• Podemos realizar las validaciones del Dominio.
• Grails create-controller Evento
Concepto Scaffolding
• Scaffolding es un término introducido por Rails, para representar la generación de los artefactos, que permiten un uso más sencillo y rápido de las interfaces que permiten operaciones básicas, denominados de forma genérica CRUDs (Create, Read, Update y Delete)
• Para cada uno de los dominios, para los que se desee tener un scaffold, se debe crear de forma análoga la creación y adecuación del controlador correspondiente, como se muestra a continuación.
• grails run-app
Urls sobre grails
• http://observatoriodegrails.com/
• http://groovy.org.es/home/
FIN