Seminario de Groovy y grails

516 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
516
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Seminario de Groovy y grails

  1. 1. 1 Introducción a Grails 1  Introducción  a  Grails  14  de  Mayo  de  2010  Por  Alberto  Vilches,  albertovilches.com  
  2. 2. Introducción a Grails2  Agenda    ¿Qué  es  Groovy?    ¿Qué  es  Grails?    Controladores    Vistas  y  taglib    Servicios    Gorm    PracGca    Plugin  acegi  
  3. 3. Introducción a Grails3  ¿Qué  es  Groovy?    Groovy  es  Java.  
  4. 4. Introducción a Grails4  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico  
  5. 5. Introducción a Grails5  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk  
  6. 6. Introducción a Grails6  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk    OOP  puro  
  7. 7. Introducción a Grails7  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk    OOP  puro    Closures,  Gstrings,  Builders,  DSL  
  8. 8. Introducción a Grails8  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk    OOP  puro    Closures,  Gstrings,  Builders,  DSL    No  compile  type-­‐checking  
  9. 9. Introducción a Grails9  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk    OOP  puro    Closures,  Gstrings,  Builders,  DSL    No  compile  type-­‐checking    Más  lento  que  Java  
  10. 10. Introducción 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. 11. Introducción 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. 12. Introducción 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. 13. Introducción 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. 14. Introducción 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. 15. Introducción 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  especificar  Gpo  ni  return  
  16. 16. Introducción 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. 17. Introducción a Grails17  HelloWorld.groovy  class HelloWorld {String nombredef saluda() { "Hola ${nombre}" }}HelloWorld hw = new HelloWorld()hw.setNombre("Groovy")println hw.saluda()Scripts,  println  
  18. 18. Introducción 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. 19. Introducción a Grails19  Colecciones  Map map = new HashMap();map.put(“clave”, “valor”);def map = [clave: “valor”]
  20. 20. Introducción a Grails20  Colecciones  Map map = new HashMap();map.put(“clave”, “valor”);map.get(“clave”);def map = [clave: “valor”]map.clavemap[“clave”]
  21. 21. Introducción 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 << “segundo”
  22. 22. Introducción a Grails22  Colecciones  List list = new ArrayList();list.add(“primero”);list.add(“segundo”);List otra = new ArrayList();otra.add(“tercero”);List suma = new ArrayList();suma.addAll(list);suma.addAll(otra);def list = [“primero”,”segundo”]def otra = [“tercero”]def suma = list + otra
  23. 23. Introducción a Grails23  Iteraciones  for (String s : list) {System.out.println(s);}list.each { String s ->println s}
  24. 24. Introducción a Grails24  Iteraciones  for (String s : list) {System.out.println(s);}for (int n=1;n<6;n++) {System.out.println(n);}list.each { String s ->println s}1.upto 5, { String s ->println s}
  25. 25. Introducción 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. 26. Introducción a Grails26  ¿Qué  es  Grails?    Groovy  sobre  Spring  
  27. 27. Introducción a Grails27  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería  
  28. 28. Introducción a Grails28  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería    CoC  -­‐>  No  XML  
  29. 29. Introducción a Grails29  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería    CoC  -­‐>  No  XML    Stack   completo   preconfigurado:   Hibernate,   Spring,   Sitemesh,  Quartz,  JUnit  
  30. 30. Introducción a Grails30  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería    CoC  -­‐>  No  XML    Stack   completo   preconfigurado:   Hibernate,   Spring,   Sitemesh,  Quartz,  JUnit    TesGng  
  31. 31. Introducción a Grails31  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería    CoC  -­‐>  No  XML    Stack   completo   preconfigurado:   Hibernate,   Spring,   Sitemesh,  Quartz,  JUnit    TesGng    Extensible:  plugins  
  32. 32. Introducción a Grails32  Prác?ca  1    Instalación    Comandos    grails  help    grails  create-­‐app    grails  run-­‐app    grails  war  
  33. 33. Introducción a Grails33  Estructura  del  proyecto  
  34. 34. Introducción a Grails34  Controladores  
  35. 35. Introducción a Grails35  Controladores  
  36. 36. Introducción a Grails36  Controladores  
  37. 37. Introducción a Grails37  Vistas  
  38. 38. Introducción a Grails38  Vistas  
  39. 39. Introducción a Grails39  Vistas  
  40. 40. Introducción a Grails40  Vistas  
  41. 41. Introducción a Grails41  Vistas  
  42. 42. Introducción a Grails42  Vistas  
  43. 43. Introducción a Grails43  Taglibs  
  44. 44. Introducción a Grails44  Taglibs  
  45. 45. Introducción a Grails45  Taglibs  
  46. 46. Introducción a Grails46  Taglibs  
  47. 47. Introducción a Grails47  Modelo  de  datos:  Gorm  
  48. 48. Introducción a Grails48  Modelo  de  datos:  Gorm  
  49. 49. Introducción a Grails49  Modelo  de  datos:  Gorm  Genero      1   *        Película  
  50. 50. Introducción a Grails50  Modelo  de  datos:  Gorm  
  51. 51. Introducción a Grails51  Servicios  
  52. 52. Introducción a Grails52  Servicios  
  53. 53. Introducción a Grails53  Servicios  
  54. 54. Introducción a Grails54  Servicios  
  55. 55. Introducción a Grails55  Servicios  
  56. 56. Introducción a Grails56  Servicios  
  57. 57. Introducción a Grails57  Servicios  singleton  prototype  request  session  
  58. 58. Introducción a Grails58  Prác?ca  2    Crear  controlador    grails  create-­‐controller      render  “hola  mundo”    request,  session,  params  
  59. 59. Introducción a Grails59  Prác?ca  3    Crear  vistas    Crear  un  modelo:  Pelicula    MVC:  enviar  el  modelo  a  la  vista  
  60. 60. Introducción a Grails60  Prác?ca  4    GORM    Clases  en  domain  -­‐>  tablas    Scaffolding    Configuración  con  MySQL  
  61. 61. Introducción a Grails61  Prác?ca  5    BootStrap    Relaciones    hasMany    belongsTop  
  62. 62. Introducción a Grails62  Prác?ca  6    Validaciones    Plugin  de  seguridad:  Acegi  
  63. 63. Introducción a Grails63  Acegi    Generación  de  manager  y  registro    AcGvar  anotaciones    Cargar  roles  en  bd    Securizar  controladores  
  64. 64. Introducción a Grails64  Acegi    Generación  de  manager  y  registro    AcGvar  anotaciones    Cargar  roles  en  bd    Securizar  controladores  
  65. 65. 65 Introducción a Grails 65  Gracias  Preguntas  

×