Resumen
Quarkus es un marco integral de Java diseñado para su implementación en Kubernetes y creado para las compilaciones propias y las máquinas virtuales Java (JVM). Permite optimizar Java especialmente para los contenedores y los entornos sin servidor, de nube y de Kubernetes.
Quarkus se diseñó para funcionar con las bibliotecas, los marcos y los estándares conocidos de Java, como Eclipse MicroProfile, Spring, Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Infinispan, Camel y muchos más.
La solución de inyección de dependencias de Quarkus se basa en la inyección de dependencias y contextos (CDI) e incluye un marco de extensión para ampliar las funciones y configurar, iniciar e integrar un marco en las aplicaciones. Agregar una extensión es tan sencillo como incorporar una dependencia, o bien puede utilizar las herramientas de Quarkus.
Además, proporciona la información correcta a GraalVM (una máquina virtual universal para ejecutar aplicaciones escritas en varios lenguajes, como Java y JavaScript) para la compilación de las aplicaciones.
Cuatro razones por las que debe probar Quarkus
Java™ sigue siendo el lenguaje de programación que muchos desarrolladores eligen a la hora de trabajar, pero la evolución de las tecnologías nativas de la nube, como Kubernetes y la informática sin servidor, supone un desafío. Conozca la razón por la que Quarkus es el marco de Java ideal para que los desarrolladores trabajen con Knative y la informática sin servidor.
Diseño para los desarrolladores
Quarkus se diseñó para ofrecer sencillez desde el comienzo y cuenta con funciones que no requieren mucha configuración.
Los desarrolladores pueden elegir los marcos de Java que deseen para sus aplicaciones y ejecutarlos como JVM o compilarlos y ejecutarlos de manera original.
Quarkus se diseñó para beneficiar a los desarrolladores, por eso incluye:
- Programación activa, para que los desarrolladores puedan verificar de inmediato el efecto de los cambios en el código y corregir los errores rápidamente
- Programación imperativa y reactiva unificada con un bus integrado de eventos gestionados
- Configuración unificada
- Creación sencilla y directa de archivos ejecutables
Enfoque en los contenedores
Ya sea que la aplicación se aloje en una nube pública o en un clúster de Kubernetes interno, las características como el inicio rápido y el consumo reducido de memoria son importantes para mantener los costos generales del host bajos.
Quarkus se diseñó con la filosofía que se centra en los contenedores, lo cual significa que el marco está optimizado para disminuir el uso de la memoria y agilizar el inicio por los siguientes medios:
- Compatibilidad de primer nivel con GraalVM y SubstrateVM
- Procesamiento de metadatos durante el diseño
- Reducción del uso del proceso de reflexión
- Inicio previo de imágenes originales
Quarkus compila aplicaciones que consumen un décimo de la memoria en comparación con Java tradicional y ofrece tiempos de inicio hasta 300 veces más rápidos, lo cual reduce significativamente el costo de los recursos de nube.
Programación imperativa y reactiva
Quarkus está diseñado para combinar a la perfección la programación reactiva sin bloqueos con la imperativa que ya conoce durante el desarrollo de las aplicaciones.
Esto resulta útil tanto para los desarrolladores de Java que suelen trabajar con el modelo imperativo y no desean implementar cambios, como para aquellos que trabajan con un enfoque reactivo u original de la nube.
El modelo de desarrollo de Quarkus se adapta a cualquier aplicación que quiera desarrollar.
Además, es una solución efectiva para ejecutar Java en este mundo nuevo de las arquitecturas sin servidor, los microservicios, los contenedores, Kubernetes, las funciones como servicio (FaaS) y la nube, ya que se creó teniendo en cuenta todas estas tecnologías.