Seminario de Groovy y grails

  • View
    217

  • Download
    0

Embed Size (px)

DESCRIPTION

Seminario de Groovy & Grails organizado por Paradigma Tecnolgico (http://www.paradigmatecnologico.com/) y javaHispano (http://javaHispano.org).

Transcript

  • 1. 1 Introduccin a Grails 1 Introduccin a Grails 14 de Mayo de 2010 Por Alberto Vilches, albertovilches.com

2. Introduccin a Grails2 Agenda Qu es Groovy? Qu es Grails? Controladores Vistas y taglib Servicios Gorm PracGca Plugin acegi 3. Introduccin a Grails3 Qu es Groovy? Groovy es Java. 4. Introduccin a Grails4 Qu es Groovy? Groovy es Java. Dinmico 5. Introduccin a Grails5 Qu es Groovy? Groovy es Java. Dinmico Inspirado en Ruby, Python y Smalltalk 6. Introduccin a Grails6 Qu es Groovy? Groovy es Java. Dinmico Inspirado en Ruby, Python y Smalltalk OOP puro 7. Introduccin a Grails7 Qu es Groovy? Groovy es Java. Dinmico Inspirado en Ruby, Python y Smalltalk OOP puro Closures, Gstrings, Builders, DSL 8. Introduccin a Grails8 Qu es Groovy? Groovy es Java. Dinmico Inspirado en Ruby, Python y Smalltalk OOP puro Closures, Gstrings, Builders, DSL No compile type-checking 9. Introduccin a Grails9 Qu es Groovy? Groovy es Java. Dinmico Inspirado en Ruby, Python y Smalltalk OOP puro Closures, Gstrings, Builders, DSL No compile type-checking Ms lento que Java 10. Introduccin a Grails10 HelloWorld.java public class HelloWorld {public static void main(String args[]) {HelloWorld hw = new HelloWorld();hw.setNombre("Groovy");System.out.println(hw.saluda());}String nombre;public String getNombre() { return nombre; }public void setNombre(String nombre) { this.nombre = nombre; }public String saluda() { return "Hola "+ nombre; }} 11. Introduccin a Grails11 HelloWorld.groovy public class HelloWorld {public static void main(String args[]) {HelloWorld hw = new HelloWorld();hw.setNombre("Groovy");System.out.println(hw.saluda());}String nombre;public String getNombre() { return nombre; }public void setNombre(String nombre) { this.nombre = nombre; }public String saluda() { return "Hola "+ nombre; }} 12. Introduccin a Grails12 HelloWorld.groovy class HelloWorld {static void main(String args[]) {HelloWorld hw = new HelloWorld();hw.setNombre("Groovy");System.out.println(hw.saluda());}String nombre;String getNombre() { return nombre; }void setNombre(String nombre) { this.nombre = nombre; }String saluda() { return "Hola "+ nombre; }}Public por defecto 13. Introduccin a Grails13 HelloWorld.groovy class HelloWorld {static void main(String args[]) {HelloWorld hw = new HelloWorld()hw.setNombre("Groovy)System.out.println(hw.saluda())}String nombreString getNombre() { return nombre }void setNombre(String nombre) { this.nombre = nombre }String saluda() { return "Hola "+ nombre }}; opcionales 14. Introduccin a Grails14 HelloWorld.groovy class HelloWorld {static void main(String args[]) {HelloWorld hw = new HelloWorld()hw.setNombre("Groovy)System.out.println(hw.saluda())}String nombreString saluda() { return "Hola "+ nombre }}Geers y seers autogenerados 15. Introduccin a Grails15 HelloWorld.groovy class HelloWorld {static main(args) {HelloWorld hw = new HelloWorld()hw.setNombre("Groovy)System.out.println(hw.saluda())}String nombredef saluda() { "Hola "+ nombre }}No hace falta especicar Gpo ni return 16. Introduccin a Grails16 HelloWorld.groovy class HelloWorld {static main(args) {HelloWorld hw = new HelloWorld()hw.setNombre("Groovy")System.out.println(hw.saluda())}String nombredef saluda() { "Hola ${nombre}" }}GStrings 17. Introduccin a Grails17 HelloWorld.groovy class HelloWorld {String nombredef saluda() { "Hola ${nombre}" }}HelloWorld hw = new HelloWorld()hw.setNombre("Groovy")println hw.saluda()Scripts, println 18. Introduccin a Grails18 HelloWorld.groovy class HelloWorld {String nombredef saluda() { "Hola ${nombre}" }}HelloWorld hw = new HelloWorld()hw.setNombre("Groovy")hw.nombre = "Groovy // atributohw["nombre"] = "Groovy // como arrayHelloWorld hw = new HelloWorld(nombre: "Groovy")POJOs 19. Introduccin a Grails19 Colecciones Map map = new HashMap();map.put(clave, valor);def map = [clave: valor] 20. Introduccin a Grails20 Colecciones Map map = new HashMap();map.put(clave, valor);map.get(clave);def map = [clave: valor]map.clavemap[clave] 21. Introduccin a Grails21 Colecciones Map map = new HashMap();map.put(clave, valor);map.get(clave);List list = new ArrayList();list.add(primero);list.add(segundo);def map = [clave: valor]map.clavemap[clave]def list = [primero]list println s} 24. Introduccin a Grails24 Iteraciones for (String s : list) {System.out.println(s);}for (int n=1;nprintln s}1.upto 5, { String s ->println s} 25. Introduccin a Grails25 Iteraciones Curso c = new Curso();c.setNombre(Groovy);...List cursos = new ArrayList();cursos.add(c);...List nombres = new ArrayList();For (Curso c : cursos) {nombres.add(c.getNombre();}def cursos =[new Curso(nombre:Groovy),new Curso(nombre:Grails)]def nombres = cursos*.nombre 26. Introduccin a Grails26 Qu es Grails? Groovy sobre Spring 27. Introduccin a Grails27 Qu es Grails? Groovy sobre Spring No es una librera 28. Introduccin a Grails28 Qu es Grails? Groovy sobre Spring No es una librera CoC -> No XML 29. Introduccin a Grails29 Qu es Grails? Groovy sobre Spring No es una librera CoC -> No XML Stack completo precongurado: Hibernate, Spring, Sitemesh, Quartz, JUnit 30. Introduccin a Grails30 Qu es Grails? Groovy sobre Spring No es una librera CoC -> No XML Stack completo precongurado: Hibernate, Spring, Sitemesh, Quartz, JUnit TesGng 31. Introduccin a Grails31 Qu es Grails? Groovy sobre Spring No es una librera CoC -> No XML Stack completo precongurado: Hibernate, Spring, Sitemesh, Quartz, JUnit TesGng Extensible: plugins 32. Introduccin a Grails32 Prc?ca 1 Instalacin Comandos grails help grails create-app grails run-app grails war 33. Introduccin a Grails33 Estructura del proyecto 34. Introduccin a Grails34 Controladores 35. Introduccin a Grails35 Controladores 36. Introduccin a Grails36 Controladores 37. Introduccin a Grails37 Vistas 38. Introduccin a Grails38 Vistas 39. Introduccin a Grails39 Vistas 40. Introduccin a Grails40 Vistas 41. Introduccin a Grails41 Vistas 42. Introduccin a Grails42 Vistas 43. Introduccin a Grails43 Taglibs 44. Introduccin a Grails44 Taglibs 45. Introduccin a Grails45 Taglibs 46. Introduccin a Grails46 Taglibs 47. Introduccin a Grails47 Modelo de datos: Gorm 48. Introduccin a Grails48 Modelo de datos: Gorm 49. Introduccin a Grails49 Modelo de datos: Gorm Genero 1 * Pelcula 50. Introduccin a Grails50 Modelo de datos: Gorm 51. Introduccin a Grails51 Servicios 52. Introduccin a Grails52 Servicios 53. Introduccin a Grails53 Servicios 54. Introduccin a Grails54 Servicios 55. Introduccin a Grails55 Servicios 56. Introduccin a Grails56 Servicios 57. Introduccin a Grails57 Servicios singleton prototype request session 58. Introduccin a Grails58 Prc?ca 2 Crear controlador grails create-controller render hola mundo request, session, params 59. Introduccin a Grails59 Prc?ca 3 Crear vistas Crear un modelo: Pelicula MVC: enviar el modelo a la vista 60. Introduccin a Grails60 Prc?ca 4 GORM Clases en domain -> tablas Scaolding Conguracin con MySQL 61. Introduccin a Grails61 Prc?ca 5 BootStrap Relaciones hasMany belongsTop 62. Introduccin a Grails62 Prc?ca 6 Validaciones Plugin de seguridad: Acegi 63. Introduccin a Grails63 Acegi Generacin de manager y registro AcGvar anotaciones Cargar roles en bd Securizar controladores 64. Introduccin a Grails64 Acegi Generacin de manager y registro AcGvar anotaciones Cargar roles en bd Securizar controladores 65. 65 Introduccin a Grails 65 Gracias Preguntas