GNU/Linux >> Tutoriales Linux >  >> Linux

3 razones por las que Quarkus 2.0 mejora la productividad de los desarrolladores en Linux

Independientemente del tiempo que trabaje como desarrollador de aplicaciones y del lenguaje de programación que utilice, es probable que aún tenga dificultades para aumentar su productividad de desarrollo. Además, los nuevos paradigmas, incluidos el cómputo en la nube, DevOps y el desarrollo basado en pruebas, han acelerado significativamente el ciclo de vida del desarrollo para desarrolladores individuales y equipos multifuncionales.

Podría pensar que las herramientas de código abierto podrían ayudar a solucionar este problema, pero yo diría que muchos marcos de desarrollo de código abierto y herramientas para codificar, construir y probar empeoran estos desafíos. Además, no es fácil encontrar herramientas de desarrollo de Kubernetes adecuadas para instalar en distribuciones de Linux debido a las dependencias del sistema y las restricciones de soporte.

Afortunadamente, puede aumentar la productividad de desarrollo en Linux con Quarkus, una pila de Java nativa de Kubernetes. Quarkus 2.0 se lanzó recientemente con nuevas funciones útiles para realizar pruebas en la consola del desarrollador.

UX/UI de desarrollador interactivo

Más recursos de Linux

  • Hoja de trucos de los comandos de Linux
  • Hoja de trucos de comandos avanzados de Linux
  • Curso en línea gratuito:Descripción general técnica de RHEL
  • Hoja de trucos de red de Linux
  • Hoja de trucos de SELinux
  • Hoja de trucos de los comandos comunes de Linux
  • ¿Qué son los contenedores de Linux?
  • Nuestros últimos artículos sobre Linux

Si necesita agregar más de 10 dependencias (p. ej., conexiones de base de datos, mapeo relacional de objetos, formato JSON, especificaciones de API REST) ​​a su proyecto Java Maven, debe definir más de 60 configuraciones con claves y valores en uno o más application.properties archivos Más configuraciones reducen la legibilidad para los desarrolladores individuales y son más difíciles de administrar para los equipos de desarrolladores.

Quarkus tiene una interfaz interactiva para mostrar todas las dependencias que se han agregado. Está disponible en localhost:8080/q/dev punto final después de iniciar el modo de desarrollo de Quarkus con mvn quarkus:dev dominio. También puede actualizar las configuraciones en la interfaz de usuario (UI) de DEV, como muestra la Figura 1, y los cambios se sincronizarán automáticamente con application.properties archivo.

(Nota:puede encontrar el código completo de la aplicación Quarkus para este artículo en mi repositorio de GitHub).

Mejores pruebas continuas

Al desarrollar una aplicación, desde un monolito hasta microservicios, debe probar su código. A menudo, un equipo dedicado de control de calidad (QA) que utiliza herramientas externas de integración continua (CI) es responsable de verificar las pruebas unitarias. Eso funcionó durante años, y aún lo hace, pero Quarkus permite a los programadores ejecutar pruebas en el entorno de tiempo de ejecución donde se ejecuta su código a medida que se desarrolla. Quarkus 2.0 proporciona esta función de prueba continua a través de la interfaz de línea de comandos (CLI) y la interfaz de usuario DEV, como se muestra en la Figura 2.

Las pruebas continuas no se ejecutan cuando se inicia una aplicación de Quarkus. Para iniciarlo, haga clic en "Las pruebas no se están ejecutando" en la parte inferior derecha de la interfaz de usuario de DEV. También puede abrir un terminal web haciendo clic en "Abrir" en el lado izquierdo de la interfaz de usuario de DEV. Ambas opciones están resaltadas en la Figura 2 y un resultado de prueba de ejemplo se muestra en la Figura 3.

Si cambia el código (por ejemplo, "Hola" a "Hola" en el hello() método) pero no el código de prueba (independientemente de si la función funciona), la prueba fallará, como se muestra en la Figura 4. Para solucionarlo, actualice el código de prueba junto con el código lógico.

Puede volver a ejecutar los casos de prueba implementados en src/test/java/ directorio. Esta función alivia la necesidad de integrarse con una herramienta de CI externa y garantiza la funcionalidad mientras se desarrolla la lógica empresarial de forma continua.

Configuración cero con servicios de desarrollo

Cuando desarrolla para un objetivo específico, es importante que su entorno de desarrollo sea un reflejo preciso del entorno en el que debe ejecutarse. Eso puede dificultar un poco la instalación de una base de datos en un lugar como un entorno local. Si está desarrollando en Linux, podría ejecutar la base de datos requerida en un contenedor, pero tienden a ejecutarse de manera diferente según los recursos disponibles, y su entorno local probablemente no tenga los mismos recursos que el entorno de producción de destino.

Quarkus 2.0 ayuda a resolver este problema al proporcionar servicios de desarrollo basados ​​en Testcontainers. Por ejemplo, puede probar aplicaciones si funcionan en la base de datos de producción, PostgreSQL, en lugar de un almacén de datos en memoria H2 con las siguientes configuraciones:

quarkus.datasource.db-kind = postgresql (1)
quarkus.hibernate-orm.log.sql = true

quarkus.datasource.username=person (2)
quarkus.datasource.password=password (3)
quarkus.hibernate-orm.database.generation=drop-and-create

%prod.quarkus.datasource.db-kind = postgresql (4)
%prod.quarkus.datasource.jdbc.url = jdbc:postgresql://db:5432/person (5)
%prod.quarkus.datasource.jdbc.driver=postgresql

quarkus.datasource.devservices.image-name=postgres:latest (6)

En el código de arriba:

(1) El tipo de base de datos que conectará para el desarrollo y la prueba

(2) Nombre de usuario de la fuente de datos

(3) Contraseña de la fuente de datos

(4) ) El tipo de base de datos que conectará para la producción

(5) URL de la fuente de datos

(6) El nombre de la imagen del contenedor que usarán los proveedores de DevServices; si el proveedor no está basado en contenedores (p. ej., base de datos H2), entonces esto no tiene ningún efecto

Cuando Quarkus se reinicie con la nueva configuración, la imagen del contenedor de Postgres se creará y comenzará a ejecutarse automáticamente, como en la Figura 5.

Esta función le permite eliminar la prueba de integración del almacén de datos de producción. También aumenta su productividad de desarrollo debido a que evita las disparidades ambientales en el ciclo de desarrollo.

Conclusión

Quarkus 2.0 aumenta la productividad de los desarrolladores con pruebas continuas integradas, una interfaz de usuario DEV interactiva y servicios de desarrollo. Además, ofrece funciones adicionales para mejorar las experiencias de los desarrolladores, como la codificación en vivo, el modo de desarrollo remoto en Kubernetes y configuraciones unificadas que aceleran el ciclo de desarrollo. ¡Quarkus 2.0 ciertamente no es una excepción! ¡Pruébelo usted mismo aquí!


Linux
  1. 10 razones para amar Linux en 2021

  2. 3 hojas de trucos esenciales de Linux para la productividad

  3. 5 razones para usar los administradores de paquetes de Linux

  4. 5 razones por las que me encanta programar en Linux

  5. Cómo utilizar la suite de productividad de KDE, Kontact

8 razones para usar el entorno de escritorio Xfce Linux

3 herramientas de línea de comandos para fingir productividad

11 razones por las que deberías cambiarte a Linux

11 razones por las que Linux es mejor que Windows

Las 10 razones principales por las que usar Linux

Linux vs Mac OS:15 razones por las que usar Linux en lugar de Mac OS