0
VSWednesday, April 25, 12
Hola!                          • Mario García                           •   @marioggar                           •   desmo...
¿De qué voy a hablar?                     •    Evolución de “Build Tools” en java                     •    Qué es Gradle  ...
EvoluciónWednesday, April 25, 12
EvoluciónWednesday, April 25, 12
Evolución                     • Apache Ant                      • Configuración sobre convención                      • Bas...
EvoluciónWednesday, April 25, 12
Evolución                     • Apache Maven                      • Convención sobre configuración                      • B...
EvoluciónWednesday, April 25, 12
Wednesday, April 25, 12
¿Que és Gradle?                     • Herramienta de construcción de software                          que combina la flexi...
¿Que és Gradle?                     • Herramienta de construcción de software                          que combina la flexi...
¿Que és Gradle?                     • Herramienta de construcción de software                          que combina la flexi...
¿Qué es Gradle?Wednesday, April 25, 12
¿Qué es Gradle?                     • Groovy                          •   Reducción de lineas de código respecto a Xml    ...
¿Qué es Gradle?                     • Fichero de Gradle                      • Ant --> ant.build                      • Ma...
¿Qué es Gradle?                     • Tasks                          •   La unidad de operación es la tarea (task)        ...
¿Qué es gradle?                     • Consola                          •   Encadenar llamadas a tareas                    ...
Round 1                     • Xml vs Código                          •   Maven: se basa en xml, y siempre tienes que      ...
Round 1Wednesday, April 25, 12
Round 2                     • Convención sobre configuración                          •   Ambos permiten tener un layout po...
Round 3                     • Ciclo de vida                          •   Maven: compilado, compilado de tests, tests,     ...
Round 4                     • Scripting                          •   Maven: Realizar scripting en Maven es un             ...
Round 4Wednesday, April 25, 12
Round 5                     • Dependencias                          •   Maven: es la referencia en la gestión/            ...
Round 6                     • Soporte IDE                          •   Maven: tiene soporte para Netbeans, Eclipse,       ...
Round 6Wednesday, April 25, 12
Round 7                     • Multiproyecto                          •   Maven:                              •   Se puede ...
Resultado                                                  Gradle   Maven                          Convencion Vs Conf     ...
¿Quién lo usa?Wednesday, April 25, 12
Por donde empezar                     • Página del proyecto                          •   http://www.gradle.org            ...
Q &AWednesday, April 25, 12
Upcoming SlideShare
Loading in...5
×

Gradle vs Maven

7,566

Published on

Introducción de Gradle comparandolo con Maven

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,566
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
78
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Transcript of "Gradle vs Maven"

  1. 1. VSWednesday, April 25, 12
  2. 2. Hola! • Mario García • @marioggar • desmontandojava.blogspot.comWednesday, April 25, 12
  3. 3. ¿De qué voy a hablar? • Evolución de “Build Tools” en java • Qué es Gradle • Qué tiene que aportar respecto a Maven • Puntos fuertes • Puntos flojosWednesday, April 25, 12
  4. 4. EvoluciónWednesday, April 25, 12
  5. 5. EvoluciónWednesday, April 25, 12
  6. 6. Evolución • Apache Ant • Configuración sobre convención • Basado en xml y en general muy verboso • No gestiona de manera integrál las dependencias (Ivy) • Lo mejor: Realizar tareas custom • Lo peor: xml y la gestión de dependenciasWednesday, April 25, 12
  7. 7. EvoluciónWednesday, April 25, 12
  8. 8. Evolución • Apache Maven • Convención sobre configuración • Basado en xml menos verboso que Ant • Integra la gestión de dependencias • Lo mejor: Gestión de dependencias, y distribución de proyectos • Lo peor: xml y dificultad para tareas “custom”Wednesday, April 25, 12
  9. 9. EvoluciónWednesday, April 25, 12
  10. 10. Wednesday, April 25, 12
  11. 11. ¿Que és Gradle? • Herramienta de construcción de software que combina la flexibilidad de Ant con las convenciones de MavenWednesday, April 25, 12
  12. 12. ¿Que és Gradle? • Herramienta de construcción de software que combina la flexibilidad de Ant con las convenciones de MavenWednesday, April 25, 12
  13. 13. ¿Que és Gradle? • Herramienta de construcción de software que combina la flexibilidad de Ant con las convenciones de Maven ?Wednesday, April 25, 12
  14. 14. ¿Qué es Gradle?Wednesday, April 25, 12
  15. 15. ¿Qué es Gradle? • Groovy • Reducción de lineas de código respecto a Xml • Usas código que puedes trazar, testear... • Puedes crear tu propia dsl para tus scripts de buildWednesday, April 25, 12
  16. 16. ¿Qué es Gradle? • Fichero de Gradle • Ant --> ant.build • Maven --> pom.xml • Gradle -->build.gradleWednesday, April 25, 12
  17. 17. ¿Qué es Gradle? • Tasks • La unidad de operación es la tarea (task) • Las tareas se invocan despues del comando “gradle”: • gradle build • Se pueden encadenar tantas tareas en linea de comandos como se quiera: • gradle clean compileJavaWednesday, April 25, 12
  18. 18. ¿Qué es gradle? • Consola • Encadenar llamadas a tareas • Gradle daemon: mejora de rendimiento • Gradle gui • Información sobre tareas • Próximamente: consola interactiva con autocompletadoWednesday, April 25, 12
  19. 19. Round 1 • Xml vs Código • Maven: se basa en xml, y siempre tienes que escribir una serie de etiquetas para realizar ciertas tareas. • Gradle: te permite hacer lo mismo con menos código.Wednesday, April 25, 12
  20. 20. Round 1Wednesday, April 25, 12
  21. 21. Round 2 • Convención sobre configuración • Ambos permiten tener un layout por defecto para proyectos Java/ Groovy/Scala • Pero Gradle te permite extender la convención con Ant, Groovy, “Tipos”,Orden por dependencia entre tareas.Wednesday, April 25, 12
  22. 22. Round 3 • Ciclo de vida • Maven: compilado, compilado de tests, tests, empaquetado... • Gradle: inicialización, configuración, ejecución. (Los plugins crean sus propios ciclos de vida encadenando tasks)Wednesday, April 25, 12
  23. 23. Round 4 • Scripting • Maven: Realizar scripting en Maven es un infierno, además de que la mayoría de las veces acabas embebiendo código en el propio xml. • Gradle: En Gradle, el propio script es código con lo que puedes importar plugins o clases de utilidad que ya tuvieras para realizar las tareas y ademas categorizarlas.Wednesday, April 25, 12
  24. 24. Round 4Wednesday, April 25, 12
  25. 25. Round 5 • Dependencias • Maven: es la referencia en la gestión/ distribución de dependencias. No puede agrupar dependencias. • Gradle: delega en Maven/Ivy. Puede agrupar dependencias. • Cambia la nomenclatura de ámbito (por ejemplo compile = compile + runtime)Wednesday, April 25, 12
  26. 26. Round 6 • Soporte IDE • Maven: tiene soporte para Netbeans, Eclipse, Intellij • Gradle: tiene soporte para Netbeans (limitado), Eclipse (STS) e IntellijWednesday, April 25, 12
  27. 27. Round 6Wednesday, April 25, 12
  28. 28. Round 7 • Multiproyecto • Maven: • Se puede declarar un pom.xml “padre” y luego los pom.xml de cada proyecto. Heredamos configuraciones de plugins y propiedades • Gradle: • Se separa la declaracion de hijos de las configuraciones de herencia. Decoupling. (build.gradle/settings.gradle)Wednesday, April 25, 12
  29. 29. Resultado Gradle Maven Convencion Vs Conf Ciclo de Vida Xml vs Código Scripting Dependencias Multiproject IDEWednesday, April 25, 12
  30. 30. ¿Quién lo usa?Wednesday, April 25, 12
  31. 31. Por donde empezar • Página del proyecto • http://www.gradle.org • Wiki: • http://wiki.gradle.org/display/GRADLE/Home • Libros: • Building And Testing with Gradle (O’Reilly) • Se puede leer online a través de la página de GradleWednesday, April 25, 12
  32. 32. Q &AWednesday, April 25, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×