¿Qué es Quarkus?
Quarkus es un framework para el desarrollo de aplicaciones de software libre y de código abierto, como la construcción de aplicaciones Java y Kotlin nativas en la nube. Su creador fue Red Hat, el proveedor líder de soluciones de software con código abierto; además de basarse en tecnologías y modelos de la industria.
Por otra parte, Quarkus ofrece un soporte para el desarrollo de aplicaciones para la implementación de contenedores nativos, esto hace que las apps se ejecuten en cualquier plataforma o nube. Otra de las soluciones que ofrece es la integración de herramientas de desarrollo con una biblioteca de extensiones para la integración de tecnologías específicas.
Características de Quarkus
Quarkus cuenta con una arquitectura modular y liviana, esto permite que las aplicaciones se inicien más rápido y reduzcan su consumo de memoria.
Este framework es compatible con el funcionamiento de contenedores nativos, de esta forma las aplicaciones se ejecutan eficientemente en plataformas y nubes.
Quarkus cuenta con una gran biblioteca de extensiones, ayudando a simplificar el desarrollo e integración de tecnologías específicas.
Esta característica permite el desarrollo de aplicaciones reactivas escalables y resistentes a fallos.
Quarkus optimiza la carga dinámica de extensiones, esto reduce el tamaño de las imágenes del contenedor y mejora el tiempo de inicio en las aplicaciones.
El framework está diseñado para tener un alto rendimiento en entorno de alta carga y así poder procesar grandes volúmenes de datos.
Esta es una de sus características más destacables, debido a que tiene un enfoque de simplicidad y facilidad de uso.
Hemos hecho aplicaciones para Office Depot, GNP, Bonafont y muchos más
Desventajas de Quarkus
Este framework es moderno y potente que permite el desarrollo de aplicaciones; que se enfoca en la velocidad, eficiencia y escalabilidad. Sin embargo, Quarkus cuenta con algunas desventajas:
Al ser un framework un poco nuevo en el mercado, esto influye en los recursos y experiencia disponible en comparación con otros más establecidos.
El reto se encuentra en la curva de aprendizaje para los desarrolladores que conozcan mucho sobre tecnologías y estándares, debido a que en sí es muy fácil de aprender y usar.
Al centrarse en la creación y desarrollo de aplicaciones nativas en la nube, existe la posibilidad de que haya limitaciones en su compatibilidad con plataformas e infraestructuras.
Algunas extensiones de Quarkus pueden no estar actualizadas siempre y son esos momentos en los que puede haber errores de compatibilidad con otras tecnologías.
Biblioteca de extensiones Quarkus
Cuando hablamos de la biblioteca de extensiones con la que cuenta Quarkus nos referimos aquellas aplicaciones que permiten una fácil integración con tecnologías y, además, simplificar el desarrollo, estas son algunas de las más utilizadas:

Crear servicios RESTful.

Acceder a bases de datos con la API de Java Persistence.

Simplifica el acceso a bases de datos y reduce la cantidad de código requerido.

Proporciona herramientas para la construcción de microservicios.

Integra sistemas y enruta mensajes.

Integración de Apache Kafka para el procesamiento de eventos distribuidos.

Integración de la base de datos NoSQL.

Genera documentos de la API de forma automatizada.

Supervisa las aplicaciones y genera métricas.

Implementa aplicaciones en kubernetes a una plataforma que orquesta contenedores.
Tecnologías con las que se puede integrar Quarkus
Quarkus puede integrarse con distintas tecnologías, sin embargo, deben encontrarse en la nube como:
- Contenedores y orquestadores (Docker y Kubernetes)
- Servicios web (RESTEasy y Spring Web)
- Bases de datos (Hibernate ORM y Apache Cassandra)
- Microservicios (Eclipse MicroProfile y Spring Cloud)