24
Grails

Charla grails

Embed Size (px)

Citation preview

Page 1: Charla grails

Grails

Page 2: Charla grails

Temario

• ¿Que es Grails?

• Groovy

• Características generales

• Objetivos

• Componentes

• Apuesta

• Arquitectura

• Crear Proyecto

Page 3: Charla grails

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

Page 4: Charla grails

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.

Page 5: Charla grails

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.

Page 6: Charla grails

• 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.

Page 7: Charla grails

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)

Page 8: Charla grails

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.

Page 9: Charla grails

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.

Page 10: Charla grails

Arquitectura de Grails

Page 11: Charla 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

Page 12: Charla grails

Crear un proyecto

Grails create-app GestionCharlas

Page 13: Charla grails

Estructura del proyecto

Page 14: Charla grails

• Grails create-domain-class Evento

Page 15: Charla grails
Page 16: Charla grails

• Podemos realizar las validaciones del Dominio.

Page 17: Charla grails

• Grails create-controller Evento

Page 18: Charla grails

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.

Page 19: Charla grails
Page 20: Charla grails

• grails run-app

Page 21: Charla grails
Page 22: Charla grails
Page 23: Charla grails

Urls sobre grails

• http://observatoriodegrails.com/

• http://groovy.org.es/home/

Page 24: Charla grails

FIN