Codificación con sus herramientas de Java favoritas
Como desarrolladores de Java, nos encantan las herramientas que usamos. Tenemos nuestra propia forma única de trabajar con estas, ya que nos permite concentrarnos y mantener la productividad, aunque también tenemos nuestros accesos directos y secretos para hacer las cosas más rápido y mejor. Tanto si usamos IntelliJ, Eclipse o VS Code para crear código o JUnit para hacer pruebas, o bien Maven o Gradle para la administración de dependencias y la automatización de compilaciones, no hay nada que nos obligue a dejar de lado nuestras herramientas preferidas y aprender algo nuevo. Por eso, Azure permite a los desarrolladores de Java llevar sus aplicaciones en la nube con sus modelos de trabajo y herramientas favoritos y en el sistema operativo de su elección. Examinaremos algunas de estas herramientas con más detalle.
IDEs - VS Code, IntelliJ y Eclipse
Un IDE ideal incluye herramientas para editar código fuente, hacer compilaciones, automatizar compilaciones locales y hacer pruebas y depuraciones. Además, dispone de controles y herramientas de supervisión para los servicios de backend para la administración de datos, el almacenamiento en caché, la mensajería y la creación y gestión de eventos. Que con un grupo de herramientas integrado se puedan hacer todas estas tareas, permite a los desarrolladores ser más productivos y así no tienen que aprender nuevas herramientas y cambiar constantemente entre una y otra para cada tarea. IntelliJ, Eclipse y Visual Studio Code son los IDE de Java más populares.
Java en Visual Studio Code
Visual Studio Code (VS Code) es un sistema operativo ligero e independiente que se ejecuta en Windows, macOS y Linux. Un IDE eficaz ofrece un conjunto de herramientas completo para el desarrollo de Java. Admite cualquier kit de desarrollo de Java (JDK), incluido el Microsoft Build de OpenJDK, Amazon Corretto, Eclipse Adoptium y Oracle Java SE. VS Code también se integra bien con todas las plataformas de Java, servidores de aplicaciones y otras herramientas populares, como Tomcat, Spring Boot, JBoss EAP, WildFly, Quarkus, Open Liberty, Maven y Gradle. También admite otros lenguajes de programación que usan con frecuencia los desarrolladores de Java, como JavaScript y SQL.
VS Code admite y simplifica los flujos de trabajo de desarrollo de Java a través de una amplia variedad de extensiones de Java para Visual Studio Code. Existen varios cientos de extensiones para Java, que puede buscar dentro del propio IDE. Empaquetamos extensiones importantes para las tareas básicas de desarrollo de Java en el Paquete de extensiones para Java. Este paquete de extensiones incluye extensiones para la administración de proyectos, integración de Maven, edición de código, finalización de código, exploración de código, refactorización, linting, aplicación de formatos, depuración, ejecución y depuración de casos de prueba de JUnit/TestNG, etc. También hay un paquete de extensiones de Spring Boot para desarrollar e implementar aplicaciones de Spring Boot, como la compatibilidad con Spring Initializr.
El paquete de extensiones de herramientas de Azure creado por los equipos de ingeniería de Azure, ofrece un amplio conjunto de extensiones para detectar todos los servicios en la nube de Azure e interactuar con ellos, lo que permite aprovechar al máximo las aplicaciones Java. Puede usar todas las extensiones en VS Code mientras escribe, depura y prueba la aplicación Java. Cuando lo tenga todo listo para implementar la aplicación, el paquete de extensiones de herramientas de Azure aceptará la implementación con un solo clic en los distintos servicios de proceso que Azure habilita para ejecutar aplicaciones Java.
Java en Visual Studio Code ofrece información básica muy útil sobre las extensiones de Visual Studio Code más populares para el desarrollo de Java. También incluye instrucciones para empezar a desarrollar con Java mediante Visual Studio Code, además de un tutorial de las diversas formas en que puede hacer que los desarrolladores de Java sean más productivos.
Introducción a Java en VS Code incluye un breve tutorial que explica cómo configurar VS Code para desarrollar con Java, cómo escribir y ejecutar el programa Hola, mundo. Del mismo modo, hay tutoriales cortos donde se explica cómo compilar una aplicación Java mediante Visual Studio Code para luego implementarla con un solo clic en servicios como los siguientes:
Si conoce bien Java en VS Code, pruebe el comando "Java: Sugerencias para principiantes" en la paleta de comandos principal.
Azure Toolkit for IntelliJ
El kit de herramientas Azure Toolkit for IntelliJ le permite crear, desarrollar, probar e implementar aplicaciones Java en Azure mediante el IDE de IntelliJ. Por ejemplo, los desarrolladores pueden usarlo para realizar las tareas siguientes:
- Implementar aplicaciones web de Java en Azure App Service y contenedores personalizados en Azure App Service.
- Implementar aplicaciones Java o de Spring, o cualquier aplicación contenedorizada, en Azure Container Apps.
- Implementar aplicaciones sin servidor en Azure Functions.
En todos estos ejemplos se usan servicios de proceso para ejecutar Java en Azure, de lo que hablamos con más detalle más adelante en esta documentación. Las integraciones de Spring Cloud Azure se facilitan a través de las soluciones de Spring Initializr en IntelliJ. Solo tiene que agregar las bibliotecas y controladores de Java correspondientes (incluido el SDK de Azure para Java) como dependencias en el proyecto de Java.
Microsoft dedica tiempo y recursos activamente para ofrecer más funcionalidades para IntelliJ, como nuevas herramientas para el desarrollo nativo en la nube y una integración más completa con los servicios de Azure, incluidas las integraciones con Azure Kubernetes Service y Application Insights.
kit de herramientas de Azure para Eclipse
El kit de herramientas Azure Toolkit for Eclipse le permite crear, desarrollar, probar e implementar aplicaciones Java en Azure mediante el IDE de Eclipse. Incluye bibliotecas y controladores importantes de Java, como el SDK de Azure para Java. Los desarrolladores pueden usar el Azure Toolkit for Eclipse para realizar las siguientes tareas en el IDE de Eclipse:
- Implementar aplicaciones web de Java App en Azure App Service y contenedores personalizados en App Service.
- Implementar aplicaciones Java o de Spring, o cualquier aplicación contenedorizada, en Azure Container Apps.
- Implementar aplicaciones sin servidor en Azure Functions mediante complementos de Maven o Gradle.
Administración de dependencias y automatización de compilaciones: Maven, Gradle y GitHub
Maven y Gradle son dos herramientas populares de administración de proyectos, administración de dependencias y creación de herramientas de automatización para aplicaciones Java. Estas herramientas están bien integradas en IDE de Java populares, con función de implementación de un solo clic en Azure a través de una serie de complementos para cada herramienta.
Complementos de Maven para servicios de Azure
Los complementos de Maven para los servicios de Azure permiten ampliar los flujos de trabajo de desarrollo de Maven en Azure, probar las aplicaciones Java de forma local e implementarlas en los servicios de Azure en un solo paso, de modo que se pueda integrar con los métodos de autenticación de Azure y el control de acceso basado en roles de Azure. El complemento Maven para Azure App Service le permite implementar proyectos de aplicaciones web de Java basados en Maven en Azure App Service y en contenedores personalizados en App Service. El complemento Maven para Azure Functions le permite implementar proyectos de aplicaciones Java sin servidor basados en Maven en Azure Functions.
Complementos de Gradle para servicios de Azure
Los complementos de Gradle para los servicios de Azure son similares a los de Maven. Permiten implementar las aplicaciones Java en los servicios de Azure en un solo paso, de modo que se pueda integrar con los métodos de autenticación de Azure y el control de acceso basado en roles de Azure. El complemento Gradle para Azure App Service le permite implementar proyectos de aplicaciones web de Java basados en Gradle en Azure App Service y en contenedores personalizados en App Service. Por otro lado, el complemento Gradle para Azure Functions le permite implementar proyectos de aplicaciones Java sin servidor basados en Gradle en Azure Functions.
GitHub
GitHub es un repositorio popular para aplicaciones Java, que ofrece un entorno de DevOps para más de 3,5 millones de aplicaciones Java. Con Acciones de GitHub para Java, puede realizar tareas como las siguientes:
- Descargar y configurar una versión solicitada de Java.
- Extraer y almacenar en caché una versión personalizada de Java de un archivo local.
- Configurar ejecutores para publicar mediante Maven, Gradle o una clave privada de GPG.
- Registrar buscadores de coincidencias de problemas por errores en los resultados.
- Almacenar en caché las dependencias administradas por Maven o Gradle.
Acciones de GitHub le facilita la tarea de automatizar todos los flujos de trabajo del software de Java con CI/CD de clase mundial. Puede compilar, probar e implementar el código en Azure directamente de GitHub. Haga que las revisiones del código, la administración de las ramas y el problema de la clasificación funcionen del modo que desee. Puede realizar la implementación en cualquiera de los servicios de Azure para ejecutar las aplicaciones de Java.
GitHub también admite contenedores de desarrollo para Java, a los que puede acceder a través de GitHub Codespaces o VS Code Remote - Containers.
Canalizaciones de Jenkins
Muchos clientes de Microsoft que ejecutan Java en Azure usan Jenkins (un servidor de automatización de código abierto) para compilar, probar e implementar sus aplicaciones. Si usa Jenkins, puede administrar el código fuente en Azure DevOps, GitHub o cualquier otro sistema de administración de código fuente mientras sigue usando Jenkins para las compilaciones de CI/CD; por ejemplo, activar una compilación de Jenkins al insertar el código en el repositorio de Git del proyecto.
Azure Pipelines
Azure Pipelines, parte del servicio Azure DevOps, le permite compilar, probar e implementar sin interrupción las aplicaciones Java en cualquier plataforma y nube. Funciona con GitHub (o Azure Repos) para el control del código fuente, lo que le permite compilar con Maven o Gradle e implementar en cualquiera de los servicios de Azure para ejecutar las aplicaciones Java.
Interfaz de la línea de comandos de Azure
La interfaz de la línea de comandos de Azure (CLI) es una herramienta de línea de comandos multiplataforma para crear y administrar recursos de Azure y conectarse a ellos, así como ejecutar comandos de terminal a través de solicitudes o scripts en la línea de comandos. Puede instalar la CLI de Azure de forma local en equipos basadas en Linux, macOS o Windows, ejecutarla en un contenedor o acceder a la CLI de Azure a través de un explorador con Azure Cloud Shell.
En el ejemplo siguiente se muestra cómo usar la CLI de Azure para implementar un archivo JAR o WAR en Azure Container Apps:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID> \
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Resumen
Al usar Java con Azure, puede elegir sus propias herramientas. Puede compilar pruebas, depurar y solucionar problemas de cualquier aplicación Java (incluidas aplicaciones políglotas) en el equipo que prefiera, como las basadas en Windows, macOS, Linux y en la nube. También puede implementar la aplicación en Azure en cualquier servidor de aplicaciones o con cualquier servidor de aplicaciones incrustado.
Paso siguiente
Implementación de aplicaciones Java con confianza y facilidad