Agosto 2016
First 90GRAILS
Agosto 2016
Sobre mí
Iván Abregú
Ingeniero Ssr. de Software
Registration Team
Java, Groovy, iOS ... developer
This is our visionBuilding the foundation to Build a 3B Company by FY20
AgendaETAPA 1 . ¿Qué es? y ¿Por qué grails?.
ETAPA 2 . Justificando los “Por qué”.
ETAPA 3. Nuestra experiencia.
Etapa 1¿Qué es? y ¿Por qué
grails?.
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Qué es?
Es un framework de desarrollo de aplicaciones Web en el que usamos principalmente el lenguaje Groovy.
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Qué es?
Es un framework de desarrollo de aplicaciones Web en el que usamos principalmente el lenguaje Groovy.
● Arquitectura tipo JavaEE.● Construido sobre un conjunto de frameworks.● Extensible por una extensa librería de plugins.● Su objetivo es simplificar el desarrollo de
aplicaciones web.
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Qué es Groovy?
Es un lenguaje basado en Java que corre sobre la JVM
● Dinámico● Compila en tiempo de ejecución
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Qué es Groovy?
Es un lenguaje basado en Java que corre sobre la JVM
● Dinámico● Compila en tiempo de ejecución
Groovy <--> Java
● + Sencillo● + Expresivo● GDK (Groovy development kit)
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Por qué Grails?
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Por qué Grails?
● Simplicidad con Groovy.
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Por qué Grails?
● Simplicidad con Groovy.
● Convención sobre configuración.
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Por qué Grails?
● Simplicidad con Groovy.
● Convención sobre configuración.
● MVC incorporado.
This is our visionBuilding the foundation to Build a 3B Company by FY20
¿Por qué Grails?
● Simplicidad con Groovy.
● Convención sobre configuración.
● MVC incorporado.
● Inyección de dependencias
Etapa 2Justificando los “Por
que”
Simplicidad con Groovy
DefsDeclarar variables y métodos sin tener que especificar el tipo
DefsDeclarar variables y métodos sin tener que especificar el tipo
DefsDeclarar variables y métodos sin tener que especificar el tipo
DefsDeclarar variables y métodos sin tener que especificar el tipo
Listas
Listas
Listas
Listas
Listas
Listas
Listas
Listas
Listas
Mapas
Mapas
Mapas
Mapas
Mapas
Mapas
Mapas
Bucles
Bucles
Bucles
Bucles
Bucles
Bucles
Bucles
Closures
Closures
Closures
Closures
Closures
Closures
Convención sobre
Configuración
Convención sobre ConfiguraciónConocido como CoC es un paradigma de programación de software
Convención sobre ConfiguraciónConocido como CoC es un paradigma de programación
● Ubicación de directorios en base a su responsabilidad
Convención sobre ConfiguraciónConocido como CoC es un paradigma de programación
● Ubicación de directorios en base a su responsabilidad
● Nombres descriptivos
Convención sobre ConfiguraciónConocido como CoC es un paradigma de programación
● Ubicación de directorios en base a su responsabilidad
● Nombres descriptivos
● Solo se necesita especificar los aspectos no convencionales de la aplicación
Convención sobre ConfiguraciónConocido como CoC es un paradigma de programación
● Ubicación de directorios en base a su responsabilidad
● Nombres descriptivos
● Solo se necesita especificar los aspectos no convencionales de la aplicación
● No se pierde flexibilidad
Convención sobre Configuración
Directorios raíces
Convención sobre Configuración
Directorio “conf”
Convención sobre Configuración
Directorio “controllers”
Convención sobre Configuración
Directorio “controllers”
Directorio “views”
Convención sobre Configuración
Directorio “services”
Convención sobre Configuración
Directorio “domain”
Directorio “services”
MVC Incorporado
MVC incorporado
MVC incorporado
MVC incorporado
MVC incorporado
MVC incorporado
MVC incorporado
Inyección de dependencia
Inyección de dependencia
Inyección de dependencia
Inyección de dependencia
Inyección de dependencia
Inyección de dependenciaInyección automática en:
● Otros servicios● Controllers● Domains● Taglibs
Etapa 3Nuestra Experiencia
?
Muchasgracias