Un vistazo a Quarkus el Supersonic Subatomic Java

¿Qué es Quarkus?

Es básicamente:

  • Un Framework para crear microservicios.
  • Un Kubernetes nativo.
  • Un "Spring Boot mejorado".

¿Cuáles son sus características?

  • Está optimizado para el tiempo de ejecución y el mejoramiento en el consumo de memoria.
  • Enfocado en el desarrollador.
  • Valores predeterminados razonables con anulaciones.
  • Herramientas ricas y "código vivo"(podrá añadir dependencias y cambios en el código en tiempo de ejecución).

Pero, ¿Cuál es la diferencia entre una Arquitectura monolítica y los famosos Microservicios?

Arquitectura monolítica

  • Procesos relacionados que se ejecutan como un solo servicio.
  • Código acoplado.
  • Se tiene la lógica del negocio en un solo lugar.

Microservicios

  • Componentes independientes que ejecutan cada proceso como un servicio.
  • Código desacoplado.
  • Se comunican a través de una API.

¿Qué es un MicroProfile?

Es una especificación para la creación e integración de microservicios y su enfoque engloba:

  1. Coherencia y
  2. Comunidad.

Quarkus integra el Microprofile de Small Rye. Usa JAX-RS para los Web Services REST. Además es nativamente compilado por GraalVM.

Instalando Quarkus

Usando PowerShell:

iex "& { $(iwr https://ps.jbang.dev) } trust add https://repo1.maven.org/maven2/io/quarkus/quarkus-cli/"
iex "& { $(iwr https://ps.jbang.dev) } app install --fresh --force quarkus@quarkusio"

Usando SDKMAN!:

sdk install quarkus

Crear y ejecutar un proyecto Quarkus:

quarkus create && cd code-with-quarkus
quarkus dev

Abrimos nuestro navegador en localhost:8080

Veamos otro ejemplo de código:

EjemploResource.java

package com.alquimista.code;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Prodices;
import javax.ws.rs.core.MediaType;

@Path("/saludo")
public class EjemploResource{

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getSaludo(){
        return "Hola, mundo desde Quarkus!!";
    }

}

Para los desarrolladores que han trabajado con Spring Framework les parecerá muy familiar.

En próximos post se hablará más de este Framework

Enlaces:

https://es.quarkus.io/
https://code.quarkus.io/
https://medium.com/ejemplos-de-programacion/instalar-sdkman-en-windows-524ed9ede7b