Creando mi primera aplicación con Micronaut

0
5630

Índice de contenidos

  1. Entorno
  2. Introducción
  3. Instalación de Micronaut
  4. Creando un servicio con Micronaut
  5. Conclusiones

1. Entorno

  • Hardware: Portátil MacBook Pro 15 pulgadas (2.5 GHz Intel i7, 16GB 1600 Mhz DDR3, 500GB Flash Storage).
  • Sistema Operativo: MacOs Mojave 10.14.2
  • SDKMAN! para la instalación de Micronaut
  • Micronaut 1.0.2

2. Introducción

Micronaut es un framework JVM que nos permite crear nuestras aplicaciones basadas en microservicios de una manera sencilla y rápida. Además de Java, Micronaut permite el uso de otros lenguajes como Groovy y Kotlin.

Las principales características de Micronaut con las siguientes:

  • Inyección de dependencias en tiempo de compilación en vez de en ejecución. Esto consigue que el despliegue de las aplicaciones sea muy rápido y un uso bajo de memoria.
  • Desarrollo rápido y sencillo de microservicios, basándose en anotaciones al igual que Spring MVC.
  • Programación reactiva a través de RxJava y ProjectReactor.
  • Framework ideal para el desarrollo de aplicaciones cloud nativas, ya que soporta el uso de herramientas para el descubrimiento de servicios, como Eureka y Consul, y sistemas distribuidos como Zipkin y Jaeger.
  • Crear tests para los servicios y clientes implementados de manera rápida y sencilla.

3. Instalación de Micronaut

Nosotros vamos a realizar la instalación a través de SDKMAN!, un manager que nos permite instalar distintas herramientas de desarrollo, ya que la guía oficial de Micronaut recomienda su instalación a través de él. Su instalación puedes seguirla en su web. Notar que en el caso de que no se quiera usar SDKMAN! también puedes descargarte los binarios de Micronaut desde la web oficial.

Una vez instalado SDKMAN!, ejecutamos el siguiente comando para instalar Micronaut:

sdk install micronaut

Este comando nos instala todas las dependencias de micronaut, incluido su CLI que nos permitirá crear aplicaciones base o ejecutar comandos:

4. Creando un servicio con Micronaut

Para crear un proyecto base con Micronaut hay que ejecutar el siguiente comando:

mn create-app hello-micronaut -build maven

Notar que hay que especificar con build que la gestión de dependencias sea con Maven (por defecto es Gradle).

Ya tenemos nuestro proyecto creado dentro del directorio hello-micronaut:

La clase Application es la que se utiliza para el despliegue de la aplicación desde el IDE o por línea de comandos desplegando por defecto en el puerto 8080:

package hello.micronaut;
import io.micronaut.runtime.Micronaut;
public class Application {
    public static void main(String[] args) {
        Micronaut.run(Application.class);
    }
}

A continuación, crearemos un controlador, dentro del paquete hello.micronaut, para un nuevo punto de API que responda con un mensaje de saludo personalizado:

package hello.micronaut;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.annotation.Produces;

@Controller("/hello")
public class HelloController {
    @Get("/{name}")
    @Produces(MediaType.TEXT_PLAIN)
    public String helloWorld(String name) {
        return "Hello " + name;
    }
}

Como se puede ver, las anotaciones utilizadas son similares a las de Spring MVC. Si redesplegamos el servicio y hacemos una llamada a http://localhost:8080/hello/Jon recibiremos la siguiente respuesta:

Hello Jon

Y así de sencillo y rápido ya tenemos creada nuestra primera aplicación en Micronaut 🙂

5. Conclusiones

Las arquitecturas basadas en microservicios son el futuro y los frameworks para su desarrollo cada vez son más. Micronaut es una alternativa a Spring Boot que nos permite crear nuestros servicios de manera rápida y sencilla también basándonos en anotaciones. Este tutorial son unos primeros pasos, en los próximos ahondaremos en la gestión de dependencias, programación reactiva y en cómo migrar un servicio creado con Spring Boot a Micronaut.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad