¡Micronaut en acción!¡Micronaut en acción!
Iván López - @ilopmarIván López - @ilopmar
Sobre mí
➢ Iván Lopez Martín - @ilopmar
➢ Desarrollador Java/Groovy
Equipos Grails & Micronaut
en OCI
➢ Coordinador de @MadridGUG
https://madridgug.com
➢ Ex-organizador de Greach
https://greachconf.com
➢ Speaker: Devoxx, GeeCon, Codemotion, ConFoo,
JavaCro, RigaDevDays, SpringOne 2GX,...
Antes y ahora...
➢ Todo ha cambiado desde 2008
➢ 10 años es mucho tiempo
en tecnología
➢ Monolitos everywhere
➢ No había Angular, React, Docker
microservicios.
Intentamos adaptarnos...
➢ Intentamos adaptar tecnología
existente a Microservicios
➢ Tecnologías como Spring o
JakartaEE nunca se pensaron
ni optimizaron para consumir
poca memoria o arrancar rápido
Objetivo
➢ Crear nuevo Framework desde cero pensado para
Microservicios y Serverless
➢ Arranque muy rápido
➢ Muy poco consumo de memoria
➢ Con tan pocas dependencias (JARs) como sea posible
➢ 12 Factor – https://12factor.net
¿Qué hace Spring y JakartaEE?
Spring es increíble y hace muchas cosas, pero las hace
en Runtime
➢ Lee todo el bytecode de cada bean
➢ Sintetiza nuevas anotaciones para cada anotación,
método, propiedad,...
➢ Crea “Metainformación” en memoria con toda la
información de beans, métodos, constructores,...
La Micro-Realidad
➢ Frameworks basados en refection
y anotaciones se vuelven “pesados”
y “gordos”
➢ Pero nos encanta ese modelo de
programación
➢ ¿Qué podemos hacer?
Presentando Micronaut
➢ Diseñado desde cero con Microservicios en mente
➢ Ultra-ligero y reactivo – basado en Netty
➢ Ahead of Time Compilation
➢ Sin refection ni runtime-proxies
➢ Cliente y Servidor HTTP
➢ Java, Groovy & Kotlin
Presentando Micronaut
➢ Natively Cloud Native
➢ Arranque muy rápido
➢ Muy poco consumo de memoria
➢ Serverless
➢ Dependency injection
➢ Soporte para GraalVM
DEMO
Java/Groovy/Kotlin Natively Cloud Native Inyección de
dependencias
Compile time
refection-free
Arranque
muy rápido
Aumenta la
productividad del
desarrollador
Resumen
➢ http://micronaut.io/
➢ http://docs.micronaut.io/latest
➢ https://github.com/micronaut-projects/micronaut-core
➢ http://guides.micronaut.io/
➢ https://gitter.im/micronautfw/
Resumen
¡Gracias!
¿Preguntas?
@ilopmar
lopez.ivan@gmail.com
https://github.com/ilopmar
Iván López

Madrid-GUG - ¡Micronaut en acción!

  • 1.
    ¡Micronaut en acción!¡Micronauten acción! Iván López - @ilopmarIván López - @ilopmar
  • 2.
    Sobre mí ➢ IvánLopez Martín - @ilopmar ➢ Desarrollador Java/Groovy Equipos Grails & Micronaut en OCI ➢ Coordinador de @MadridGUG https://madridgug.com ➢ Ex-organizador de Greach https://greachconf.com ➢ Speaker: Devoxx, GeeCon, Codemotion, ConFoo, JavaCro, RigaDevDays, SpringOne 2GX,...
  • 3.
    Antes y ahora... ➢Todo ha cambiado desde 2008 ➢ 10 años es mucho tiempo en tecnología ➢ Monolitos everywhere ➢ No había Angular, React, Docker microservicios.
  • 4.
    Intentamos adaptarnos... ➢ Intentamosadaptar tecnología existente a Microservicios ➢ Tecnologías como Spring o JakartaEE nunca se pensaron ni optimizaron para consumir poca memoria o arrancar rápido
  • 5.
    Objetivo ➢ Crear nuevoFramework desde cero pensado para Microservicios y Serverless ➢ Arranque muy rápido ➢ Muy poco consumo de memoria ➢ Con tan pocas dependencias (JARs) como sea posible ➢ 12 Factor – https://12factor.net
  • 6.
    ¿Qué hace Springy JakartaEE? Spring es increíble y hace muchas cosas, pero las hace en Runtime ➢ Lee todo el bytecode de cada bean ➢ Sintetiza nuevas anotaciones para cada anotación, método, propiedad,... ➢ Crea “Metainformación” en memoria con toda la información de beans, métodos, constructores,...
  • 7.
    La Micro-Realidad ➢ Frameworksbasados en refection y anotaciones se vuelven “pesados” y “gordos” ➢ Pero nos encanta ese modelo de programación ➢ ¿Qué podemos hacer?
  • 9.
    Presentando Micronaut ➢ Diseñadodesde cero con Microservicios en mente ➢ Ultra-ligero y reactivo – basado en Netty ➢ Ahead of Time Compilation ➢ Sin refection ni runtime-proxies ➢ Cliente y Servidor HTTP ➢ Java, Groovy & Kotlin
  • 10.
    Presentando Micronaut ➢ NativelyCloud Native ➢ Arranque muy rápido ➢ Muy poco consumo de memoria ➢ Serverless ➢ Dependency injection ➢ Soporte para GraalVM
  • 11.
  • 12.
    Java/Groovy/Kotlin Natively CloudNative Inyección de dependencias Compile time refection-free Arranque muy rápido Aumenta la productividad del desarrollador Resumen
  • 13.
    ➢ http://micronaut.io/ ➢ http://docs.micronaut.io/latest ➢https://github.com/micronaut-projects/micronaut-core ➢ http://guides.micronaut.io/ ➢ https://gitter.im/micronautfw/ Resumen
  • 14.