Your SlideShare is downloading. ×
0
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Seminario de Groovy y grails
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Seminario de Groovy y grails

229

Published on

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

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
229
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 1 Introducción a Grails 1  Introducción  a  Grails  14  de  Mayo  de  2010  Por  Alberto  Vilches,  albertovilches.com  
  • 2. Introducción a Grails2  Agenda    ¿Qué  es  Groovy?    ¿Qué  es  Grails?    Controladores    Vistas  y  taglib    Servicios    Gorm    PracGca    Plugin  acegi  
  • 3. Introducción a Grails3  ¿Qué  es  Groovy?    Groovy  es  Java.  
  • 4. Introducción a Grails4  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico  
  • 5. Introducción a Grails5  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk  
  • 6. Introducción a Grails6  ¿Qué  es  Groovy?    Groovy  es  Java.    Dinámico    Inspirado  en  Ruby,  Python  y  Smalltalk    OOP  puro  
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Introducción a Grails19  Colecciones  Map map = new HashMap();map.put(“clave”, “valor”);def map = [clave: “valor”]
  • 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. 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. 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. Introducción a Grails23  Iteraciones  for (String s : list) {System.out.println(s);}list.each { String s ->println s}
  • 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. 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. Introducción a Grails26  ¿Qué  es  Grails?    Groovy  sobre  Spring  
  • 27. Introducción a Grails27  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería  
  • 28. Introducción a Grails28  ¿Qué  es  Grails?    Groovy  sobre  Spring    No  es  una  librería    CoC  -­‐>  No  XML  
  • 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. 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. 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. Introducción a Grails32  Prác?ca  1    Instalación    Comandos    grails  help    grails  create-­‐app    grails  run-­‐app    grails  war  
  • 33. Introducción a Grails33  Estructura  del  proyecto  
  • 34. Introducción a Grails34  Controladores  
  • 35. Introducción a Grails35  Controladores  
  • 36. Introducción a Grails36  Controladores  
  • 37. Introducción a Grails37  Vistas  
  • 38. Introducción a Grails38  Vistas  
  • 39. Introducción a Grails39  Vistas  
  • 40. Introducción a Grails40  Vistas  
  • 41. Introducción a Grails41  Vistas  
  • 42. Introducción a Grails42  Vistas  
  • 43. Introducción a Grails43  Taglibs  
  • 44. Introducción a Grails44  Taglibs  
  • 45. Introducción a Grails45  Taglibs  
  • 46. Introducción a Grails46  Taglibs  
  • 47. Introducción a Grails47  Modelo  de  datos:  Gorm  
  • 48. Introducción a Grails48  Modelo  de  datos:  Gorm  
  • 49. Introducción a Grails49  Modelo  de  datos:  Gorm  Genero      1   *        Película  
  • 50. Introducción a Grails50  Modelo  de  datos:  Gorm  
  • 51. Introducción a Grails51  Servicios  
  • 52. Introducción a Grails52  Servicios  
  • 53. Introducción a Grails53  Servicios  
  • 54. Introducción a Grails54  Servicios  
  • 55. Introducción a Grails55  Servicios  
  • 56. Introducción a Grails56  Servicios  
  • 57. Introducción a Grails57  Servicios  singleton  prototype  request  session  
  • 58. Introducción a Grails58  Prác?ca  2    Crear  controlador    grails  create-­‐controller      render  “hola  mundo”    request,  session,  params  
  • 59. Introducción a Grails59  Prác?ca  3    Crear  vistas    Crear  un  modelo:  Pelicula    MVC:  enviar  el  modelo  a  la  vista  
  • 60. Introducción a Grails60  Prác?ca  4    GORM    Clases  en  domain  -­‐>  tablas    Scaffolding    Configuración  con  MySQL  
  • 61. Introducción a Grails61  Prác?ca  5    BootStrap    Relaciones    hasMany    belongsTop  
  • 62. Introducción a Grails62  Prác?ca  6    Validaciones    Plugin  de  seguridad:  Acegi  
  • 63. Introducción a Grails63  Acegi    Generación  de  manager  y  registro    AcGvar  anotaciones    Cargar  roles  en  bd    Securizar  controladores  
  • 64. Introducción a Grails64  Acegi    Generación  de  manager  y  registro    AcGvar  anotaciones    Cargar  roles  en  bd    Securizar  controladores  
  • 65. 65 Introducción a Grails 65  Gracias  Preguntas  

×