Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
GESTION Y DESARROLLO DE SERVICIOS WEB 2) M.A. Alex Pacheco Moya alex.pacheco.moya@gmail.com WEBSERVICES CON JAVA GRADLE SEMANA 10 ¿Qué es Gradle? Gradle es la nueva generación de herramientas de construcción automatizadas de proyectos, diseñado para superar las limitaciones de Maven. Gradle es software libre diseñado para construcciones multi-proyecto los cuales pueden pueden llegar a ser caóticos. Gradle basa la construcción de proyectos en algunos conceptos de Apache Ant y Apache Maven, cambiando la configuración de forma XML, a un lenguaje específico de dominio (Kotlin DSL). También utiliza un grafo acíclico dirigido (DAG) para determinar la secuencia en que se construirá el proyecto. https://jugnicaragua.org/primeros-pasos-con-gradle/ ¿Qué es Gradle? • Gradle es una herramienta de automatización de la construcción de nuestro código que bebe de las aportaciones que han realizado herramientas como ant y maven pero intenta llevarlo todo un paso mas allá. Para empezar se apoya en Groovy y en un DSL (Domain Specific Language) para trabajar con un lenguaje sencillo y claro a la hora de construir el build comparado con Maven https://www.arquitecturajava.com/que-es-gradle/ ¿Qué es Gradle? • Gradle, es una herramienta que permite la automatización de compilación de código abierto, la cual se encuentra centrada en la flexibilidad y el rendimiento. • Los scripts de compilación de Gradle se escriben utilizando Groovy o Kotlin DSL (Domain Specific Language). https://openwebinars.net/blog/que-es-gradle/ ¿Qué es un lenguaje específico de dominio (DSL)? Es un lenguaje de programación que provee una técnica para resolver un problema en específico En el caso de Gradle utiliza sentencias de Groovy y Kotlin para la construcción de proyectos de software. En desarrollo de software e ingeniería de dominio, un lenguaje específico de dominio, o "lenguaje específico del dominio", (en inglés domain-specific language, DSL) es un lenguaje de programación o especificación dedicado a resolver un problema en particular, representar un problema específico y proveer una técnica para solucionar una situación particular. https://jugnicaragua.org/primeros-pasos-con-gradle/ https://es.wikipedia.org/wiki/Lenguaje_espec%C3%ADfico_de_dominio Groovy • Apache Groovy es un lenguaje de programación dinámico orientado a objetos para la máquina virtual Java (JVM). • Groovy es un potenciador de Java porque le facilita una mayor flexibilidad e, incluso, la introducción de características especiales a las aplicaciones (se pueden mejorar las que ya estén desarrolladas o bien hacerlas desde cero). • Groovy es una sintaxis parecida a Java, pero con la facilidad de otros lenguajes más moldeables como Python y Ruby Características de Gradle Algunas características de Gradle que podemos destacar son las siguientes: • Depuración colaborativa: Permite compartir los resultados de la compilación para resolver en equipo de forma eficiente posibles problemas que aparezcan. • Construcción incremental: Valida en el proceso de compilación si la entrada, salida o implementación de una tarea ha cambiado, en caso de no existir algún cambio la considera actualizada y no se ejecuta. • Diseño de repositorio personalizado: Podremos tratar prácticamente cualquier estructura de directorios del sistema de archivos como un repositorio de Artifacts. • Dependencias transitivas: Es uno de los principales beneficios que ofrece al utilizar la gestión de dependencias ya que se encarga de descargar y administrar las dependencias transitivas. https://openwebinars.net/blog/que-es-gradle/ Más Características de Gradle.. • Soporte a Groovy y Scala incorporado: Compatibilidad con los proyectos de Groovy, permitiendo trabajar con código Groovy o código Scala e inclusive desarrollar código mixto Java y Groovy o Java y Scala. • Compilación incremental para Java: En caso de que el código fuente o la ruta de clase cambien, Gradle cuenta con la capacidad para detectar todas las clases que se vean afectadas por dicho cambio y procederá a recompilarlas. • Embalaje y distribución de JAR, WAR y EAR: Cuenta con herramientas para empaquetar el código basado en JVM (Java Virtual Machine) en archivos de archivo comunes. • Integración con Android Studio: Android Studio no cuenta con un generador interno, sino que delega todas las tareas de compilación en Gradle, garantizando la corrección en todas las construcciones, ya sea que se ejecuten desde Android Studio, la línea de comandos o un servidor de construcción de integración continua. https://openwebinars.net/blog/que-es-gradle/ Caracteristicas de Gradle https://openwebinars.net/blog/que-es-gradle/ Complementos Gradle • Gradle permite construir desde microservicios hasta aplicaciones móviles, puede ser utilizado por pequeñas startups como por grandes empresas, ya que ayuda a los equipos a desarrollar, automatizar y entregar software de calidad en un menor tiempo (dependiendo de su complejidad y planificación previa del proceso de desarrollo). • Esta herramienta cuenta con una gran variedad de complementos o plugins que ayudan agilizar la construcción, entre los cuales destacamos los siguientes: https://openwebinars.net/blog/que-es-gradle/ https://openwebinars.net/blog/microservicios-que-son/ Complementos Gradle • javamuc.gradle-semantic-build-versioning: Proporciona soporte para el versionado semántico de las compilaciones, es fácil de usar y configurar. • io.freefair.maven-publish-war: Permite crear una publicación de mavenWeb. • io.freefair.maven-publish-java: Crea una publicación mavenJava. • org.mozilla.rust-android-gradle.rust-android: Un complemento que ayuda a construir bibliotecas Rust JNI con Cargo para su uso en proyectos de Android. Más Complementos Gradle… • net.wooga.build-unity: Este complemento proporciona tareas para exportar proyectos de plataforma desde los proyectos de Unity3D. • de.db.vz.msintplugin: Este complemento nos permitirá ejecutar pruebas de integración de microservicio con docker. • com.bmuschko.docker-remote-api: Nos facilita la gestión de imágenes y contenedores Docker. • com.google.cloud.tools.jib: Crea un contenedor para tu aplicación Java. Instalación de Gradle Pre-instalación (Requisitos) Para poder ejecutar Gradle es necesario tener instalado JDK 8 o superior. Comencemos verificando la versión de Java que tenemos instalado, ejecutando la siguiente instrucción: java –versión veremos algo así: openjdk version "11.0.5" 2019-10-15 OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-2) OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-2, mixed mode, sharing) Instalación Manual de Gradle 1. Descargamos los binarios desde la página oficial de Gradle. 2. Creamos una carpeta(directorio) donde almacenaremos los binarios. En sistema Windows: md c:gradle 3. Descomprimimos el archivo que contiene los binarios. Luego se copian a la carpeta creada. 4. Se agrega al sistema la ubicación de los binarios. En sistema Windows: set PATH=%PATH%;%c:gradlegradle-6.0.1%bin 5. Verificamos la instalación. gradle -v ------------------------------------------------------------ Gradle 6.0.1 ------------ https://jugnicaragua.org/primeros-pasos-con-gradle/ Gradle en IDES En algunos IDEs, como Eclipse 2019-9, Netbeans 11.2 y IntelliJ IDEA 2019.2, cuentan con integración para trabajar con Gradle, a continuación veremos imágenes de cómo podemos crear proyectos con Gradle desde los IDEs. Gradle en NetBeans ¿Cómo se organiza la construcción en Gradle ? Gradle se organiza en proyectos y tareas, en donde los proyectos puede ser un producto de lo que te encuentres haciendo, como una librería jar, una aplicación web o un archivo ZIP de distribución, etc. . Cada proyecto está compuesto por una o más tareas. Las tareas representan la parte atómica en una construcción. Gradle proporciona una biblioteca de tareas, donde cada tarea realiza algunaoperación básica, como compilar, ejecutar jar, copiar archivos, crear archivos jar, entre otras. https://jugnicaragua.org/primeros-pasos-con-gradle/ Tareas Gradle Ente las tareas de la biblioteca Gradle encontramos la herramientas para listar los proyectos y tareas. Para ello, desde una terminal digitamos la siguiente sentencia: gradle -q tasks Proyecto Gradle en NetBeans Java with Gradle New Java Application with Gradle Payara Server Index.html run Project - Output index.html en el navegador REFERENCIAS • The Definitive Gradle Guide for NetBeans IDE https://dzone.com/articles/definitive-gradle-guide-for-netbeans • Primeros pasos con Gradle en proyectos Java https://jugnicaragua.org/primeros-pasos-con-gradle/ • Blog sobre Java EE https://www.arquitecturajava.com/que-es-gradle/ • Qué es Gradle: La herramienta para ser más productivo desarrollando https://openwebinars.net/blog/que-es-gradle/ https://dzone.com/articles/definitive-gradle-guide-for-netbeans https://jugnicaragua.org/primeros-pasos-con-gradle/ https://www.arquitecturajava.com/que-es-gradle/ https://openwebinars.net/blog/que-es-gradle/ “No eres muy bueno, si no eres mejor; de lo que imaginan tus amigos” Johan Kaspar Lavater Diapositiva 1 Diapositiva 2: GESTION Y DESARROLLO DE SERVICIOS WEB 2) Diapositiva 3: WEBSERVICES CON JAVA GRADLE Diapositiva 4: ¿Qué es Gradle? Diapositiva 5: ¿Qué es Gradle? Diapositiva 6: ¿Qué es Gradle? Diapositiva 7: ¿Qué es un lenguaje específico de dominio (DSL)? Diapositiva 8: Groovy Diapositiva 9: Características de Gradle Diapositiva 10: Más Características de Gradle.. Diapositiva 11: Caracteristicas de Gradle Diapositiva 12: Complementos Gradle Diapositiva 13: Complementos Gradle Diapositiva 14: Más Complementos Gradle… Diapositiva 15: Instalación de Gradle Diapositiva 16: Instalación Manual de Gradle Diapositiva 17: Gradle en IDES Diapositiva 18: Gradle en NetBeans Diapositiva 19: ¿Cómo se organiza la construcción en Gradle ? Diapositiva 20: Tareas Gradle Diapositiva 21: Proyecto Gradle en NetBeans Diapositiva 22: Java with Gradle Diapositiva 23: New Java Application with Gradle Diapositiva 24: Payara Server Diapositiva 25: Index.html Diapositiva 26: run Project - Output Diapositiva 27: index.html en el navegador Diapositiva 28: REFERENCIAS Diapositiva 29
Compartir