Ratpack es un conjunto de librerías (no es un framework propiamente) enfocado en la construcción de aplicaciones basadas en el protocolo HTTP y que brinda una eficiencia en términos de recursos y rendimiento.
Construido sobre la librería de red de eventos Netty, ofrece una base para desarrollar aplicaciones rápidas y eficientes, inspiradas en la simplicidad de frameworks como Sinatra para Ruby.
Es conocido por su flexibilidad, permitiendo la integración con otras tecnologías como Groovy, Guice y Spring Boot.
El lenguaje de programación "base" que usa Ratpack es Groovy (un lenguaje dinámico similar a Python o Ruby, pero siendo heredero de Java), aunque también se puede usar Java indistintamente.
Observemos un ejemplo de código, el clásico "Hola, mundo".
Holamundo.java
package org.inforhomex.app; import ratpack.handling.Context; import ratpack.handling.Handler; import ratpack.server.RatpackServer; public class Holamundo { public static void main(String[] args) throws Exception { RatpackServer.start(server -> server .handlers(chain -> chain .get(ctx -> ctx.render("Hola, mundo")) ) ); } }
El clásico Hola, mundo con Ratpack (y Groovy)
En este ejemplo usaremos Grapes.
Si no tienes Groovy, lo puedes descargar de su sitio oficial: https://groovy.apache.org/download.html
Comprobamos su instalación:
$ groovy --version
Crearemos un script llamado ``ratpack.groovy``.
@Grapes([ @Grab('io.ratpack:ratpack-groovy:2.0.0-rc-1'), @Grab('org.slf4j:slf4j-simple:1.7.36') ]) import static ratpack.groovy.Groovy.ratpack ratpack { handlers { get { render "Hola, mundo" } get(":nombre") { render "Hola $pathTokens.nombre!" } } }
Si todo va bien, abriremos el navegador en la ruta: http://localhost:5050/
Ahora usaremos Gradle para el mismo ejemplo.
1. Creamos el directorio del proyecto:
$ mkdir holaratpack $ cd holaratpack
Este será el directorio donde crearemos nuestra aplicación. Es importante hacer notar que debes contar con una versión JDK 17 ya que con las más actuales no se puede ocupar.
2. Dentro de este directorio crearemos un archivo ``build.gradle``:
buildscript { repositories { mavenCentral() } dependencies { classpath "io.ratpack:ratpack-gradle:2.0.0-rc-1" } } apply plugin: "io.ratpack.ratpack-groovy" apply plugin: "idea" repositories { mavenCentral() } dependencies { runtimeOnly "org.slf4j:slf4j-simple:1.7.36" }
3. Creamos el programa ``src/ratpack/ratpack.groovy``
import static ratpack.groovy.Groovy.ratpack ratpack { handlers { get { render "Hola, mundo!" } get(":nombre") { render "Hola $pathTokens.nombre!" } } }
4. Construimos y ejecutamos el proyecto:
$ gradle build $ gradle run
Si todo va bien, abriremos el navegador en la ruta: http://localhost:5050/
¡Hemos creado nuestra primera aplicación con Ratpack (con Groovy y Gradle)!
En próximas entregas hablaremos más sobre Ratpack.
Enlaces:
https://ratpack.io/https://netty.io/
https://github.com/google/guice
https://alquimistadecodigo.blogspot.com/2023/01/quarkus-un-spring-boot-mejorado.html
https://unpocodejava.com/2018/02/10/que-es-ratpack/
Comentarios
Publicar un comentario