Código usando as ferramentas Java que você conhece e adora
Como desenvolvedores Java, adoramos as ferramentas que usamos. Temos a nossa própria forma única de trabalhar com eles que nos ajuda a concentrarmo-nos e a mantermo-nos produtivos, tal como temos os nossos atalhos e segredos para fazer as coisas mais rapidamente e melhor. Quer usemos IntelliJ, Eclipse ou VS Code para codificação, ou JUnit para testes, ou Maven ou Gradle para gerenciamento de dependência e automação de compilação, não há nada que possa nos obrigar a deixar de lado nossas ferramentas preferidas e aprender algo novo. É por isso que o Azure permite que os desenvolvedores Java tragam seus aplicativos para a nuvem em suas ferramentas e estruturas favoritas e no sistema operacional de sua escolha. Vamos dar uma olhada mais de perto em algumas dessas ferramentas.
IDEs - VS Code, IntelliJ e Eclipse
Um IDE ideal inclui ferramentas para edição de código-fonte, compilação, automação de compilação local, teste e depuração - juntamente com controles e ferramentas de monitoramento para serviços de back-end para gerenciamento de dados, cache, mensagens e eventos. Um conjunto de ferramentas integrado que suporta todas essas tarefas torna os desenvolvedores mais produtivos, permitindo que eles evitem ter que aprender e alternem constantemente entre ferramentas autônomas para cada tarefa. IntelliJ, Eclipse e Visual Studio Code são os IDEs Java populares.
Java no Visual Studio Code
O Visual Studio Code (VS Code) é um sistema operacional leve e agnóstico que roda em Windows, macOS e Linux. Um IDE poderoso, ele fornece um conjunto de ferramentas abrangente para o desenvolvimento Java. Ele suporta qualquer Java Development Kit (JDK), incluindo o Microsoft Build do OpenJDK, Amazon Corretto, Eclipse Adoptium e Oracle Java SE. O VS Code também se integra bem com todos os frameworks Java, servidores de aplicativos e outras ferramentas populares, incluindo Tomcat, Spring Boot, JBoss EAP, WildFly, Quarkus, Open Liberty, Maven e Gradle. Ele também suporta outras linguagens de programação que são frequentemente usadas por desenvolvedores Java - como JavaScript e SQL.
O VS Code suporta e simplifica fluxos de trabalho de desenvolvimento Java por meio de uma ampla gama de extensões Java para Visual Studio Code. Existem várias centenas de extensões apenas para Java, que você pode pesquisar de dentro do próprio IDE. Empacotamos extensões de chave para desenvolvimento Java fundamental no Extension Pack para Java. Este pacote de extensão inclui extensões para gerenciamento de projetos, integração Maven, edição de código, conclusão de código, navegação de código, refatoração, linting, formatação, depuração, execução e depuração de casos de teste JUnit/TestNG e muito mais. Há também um Spring Boot Extension Pack para desenvolver e implantar aplicativos Spring Boot - incluindo suporte a Spring Initializr.
O Pacote de Extensão de Ferramentas do Azure, criado pelas equipes de engenharia do Azure, fornece um conjunto avançado de extensões para descobrir e interagir com todos os serviços de nuvem do Azure que ajudam a alimentar seus aplicativos Java. Você pode usar todas as extensões de dentro do VS Code enquanto escreve, depura e testa seu aplicativo Java. Quando estiver pronto para implementar a sua aplicação, o Pacote de Extensão de Ferramentas do Azure suporta a implementação com um clique nos vários serviços de computação que o Azure fornece para executar aplicações Java.
Java no Visual Studio Code fornece uma boa visão geral das extensões de código mais populares do Visual Studio para desenvolvimento Java. Ele também fornece instruções para começar a usar o desenvolvimento Java usando o Visual Studio Code, juntamente com um passo a passo das muitas maneiras pelas quais ele pode ajudar a tornar os desenvolvedores Java mais produtivos.
Getting Started with Java in VS Code fornece um pequeno tutorial que aborda a configuração do VS Code para desenvolvimento Java, incluindo como escrever e executar o programa Hello World. Da mesma forma, há tutoriais curtos que mostram como criar um aplicativo Java usando o Visual Studio Code e, em seguida, implantá-lo com um único clique em serviços como os seguintes:
Se você é novo em Java no VS Code, experimente o comando "Java: Dicas para Iniciantes" em sua Paleta de Comandos principal.
Azure Toolkit for IntelliJ
O Kit de Ferramentas do Azure para IntelliJ permite que desenvolvedores Java criem, desenvolvam, testem e implantem aplicativos Java no Azure usando o IntelliJ IDE. Por exemplo, os desenvolvedores podem usá-lo para realizar as seguintes tarefas:
- Implante aplicativos Web Java no Serviço de Aplicativo do Azure e contêineres personalizados no Serviço de Aplicativo do Azure.
- Implante aplicativos Java ou Spring, ou quaisquer aplicativos em contêineres, nos Aplicativos de Contêiner do Azure.
- Implante aplicativos sem servidor no Azure Functions.
Todos esses exemplos usam serviços de computação para executar Java no Azure, que abordaremos com mais detalhes mais adiante nesta documentação. As integrações do Spring Cloud Azure são fornecidas por meio das experiências do Spring Initializr no IntelliJ. Basta adicionar as bibliotecas e drivers Java apropriados (incluindo o SDK do Azure para Java) como dependências em seu projeto Java.
A Microsoft está investindo ativamente tempo e recursos para fornecer mais funcionalidade para o IntelliJ, incluindo novas experiências para desenvolvimento nativo da nuvem e integração mais profunda com os serviços do Azure - incluindo integrações com o Serviço Kubernetes do Azure e o Application Insights.
Azure Toolkit for Eclipse
O Kit de Ferramentas do Azure para Eclipse permite que os desenvolvedores Java criem, desenvolvam, testem e implantem aplicativos Java no Azure usando o IDE do Eclipse. Ele inclui as principais bibliotecas e drivers Java, incluindo o SDK do Azure para Java. Os desenvolvedores podem usar o Kit de Ferramentas do Azure para Eclipse para realizar as seguintes tarefas do IDE do Eclipse:
- Implante Java Web Apps no Serviço de Aplicativo do Azure e em contêineres personalizados no Serviço de Aplicativo.
- Implante aplicativos Java ou Spring, ou quaisquer aplicativos em contêineres, nos Aplicativos de Contêiner do Azure.
- Implante aplicativos sem servidor no Azure Functions usando plug-ins Maven ou Gradle.
Gerenciamento de dependência e automação de construção - Maven, Gradle e GitHub
Maven e Gradle são duas ferramentas populares de gerenciamento de projetos, dependência e automação de construção para aplicativos Java. Essas ferramentas são bem integradas em IDEs Java populares, com implantação com um clique no Azure suportada por meio de um conjunto de plug-ins para cada ferramenta.
Plug-ins Maven para Serviços do Azure
Os plug-ins do Maven para serviços do Azure permitem estender seus fluxos de trabalho de desenvolvimento do Maven para o Azure, testando seus aplicativos Java localmente e, em seguida, implantando-os nos serviços do Azure em uma única etapa - de uma forma que se integra aos métodos de autenticação do Azure e ao Controle de Acesso Baseado em Função do Azure. O plug-in Maven para o Serviço de Aplicativo do Azure ajuda você a implantar projetos de aplicativo Web Java Maven no Serviço de Aplicativo do Azure e em contêineres personalizados no Serviço de Aplicativo. O plug-in Maven para Azure Functions ajuda você a implantar projetos de aplicativos Java sem servidor Maven no Azure Functions.
Plug-ins Gradle para Serviços do Azure
Os plug-ins do Gradle para serviços do Azure são semelhantes aos do Maven. Eles permitem que você implante seus aplicativos Java nos serviços do Azure em uma única etapa - de uma forma que se integre aos métodos de autenticação do Azure e ao Controle de Acesso Baseado em Função do Azure. O plug-in Gradle para o Serviço de Aplicativo do Azure ajuda você a implantar projetos de aplicativo Web Java Gradle no Serviço de Aplicativo do Azure e em contêineres personalizados no Serviço de Aplicativo, e o plug-in Gradle para Azure Functions ajuda você a implantar projetos de aplicativo Java sem servidor Gradle no Azure Functions.
GitHub
O GitHub é um repositório popular para aplicações Java, fornecendo um ambiente DevOps para mais de 3,5 milhões de aplicações Java. Usando o GitHub Actions for Java, você pode realizar tarefas como as seguintes:
- Faça o download e configure uma versão solicitada do Java.
- Extraia e armazene em cache uma versão personalizada do Java de um arquivo local.
- Configure corredores para publicação usando Maven, Gradle ou uma chave privada GPG.
- Registre os correspondentes de problemas para a saída de erros.
- Dependências de cache gerenciadas pelo Maven ou Gradle.
O GitHub Actions facilita a automação de todo o fluxo de trabalho do seu software Java usando CI/CD de classe mundial. Você pode criar, testar e implantar seu código no Azure diretamente do GitHub. Faça com que as revisões de código, o gerenciamento de filiais e a triagem de problemas funcionem da maneira que desejar. Você pode implantar em qualquer um dos serviços do Azure para executar seus aplicativos Java.
O GitHub também suporta contêineres de desenvolvimento para Java, que você pode acessar via GitHub Codespaces ou VS Code Remote - Containers.
Oleodutos Jenkins
Muitos clientes da Microsoft que executam Java no Azure usam o Jenkins - um servidor de automação de código aberto - para criar, testar e implantar seus aplicativos. Se você usa o Jenkins, pode gerenciar seu código-fonte no Azure DevOps, GitHub ou qualquer outro sistema de gerenciamento de código-fonte enquanto continua a usar o Jenkins para suas compilações de CI/CD - por exemplo, acionando uma compilação do Jenkins quando você envia seu código para o repositório Git do seu projeto.
Pipelines do Azure
O Azure Pipelines, parte do serviço Azure DevOps , permite que você crie, teste e implante continuamente seus aplicativos Java em qualquer plataforma e nuvem. Ele funciona com o GitHub (ou Azure Repos) para controle do código-fonte, permitindo que você crie usando Maven ou Gradle e, em seguida, implante em qualquer um dos serviços do Azure para executar seus aplicativos Java.
Interface de linha de comando do Azure
A CLI (Interface de Linha de Comando) do Azure é uma ferramenta de linha de comando entre plataformas para criar, conectar-se e gerenciar recursos do Azure - incluindo a execução de comandos de terminal por meio de prompts ou scripts de linha de comando. Você pode instalar a CLI do Azure localmente em máquinas baseadas em Linux, macOS ou Windows, executá-la de dentro de um contêiner ou acessar a CLI do Azure a partir de um navegador por meio do Azure Cloud Shell.
O exemplo a seguir mostra como usar a CLI do Azure para implantar um arquivo JAR ou WAR em Aplicativos de Contêiner do Azure:
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
Resumo
Ao usar Java com o Azure, você pode escolher suas próprias ferramentas. Você pode criar, testar, depurar e solucionar problemas de qualquer aplicativo Java (incluindo aplicativos poliglotas) usando a máquina de sua escolha, incluindo Windows, macOS, Linux e máquinas baseadas em nuvem. Você também pode implantar seu aplicativo no Azure em qualquer servidor de aplicativos ou com qualquer servidor de aplicativos incorporado.