Codice con gli strumenti Java che conosci e ami
Gli sviluppatori Java amano gli strumenti usati. Abbiamo il nostro modo unico di lavorare con loro che ci aiuta a concentrarsi e rimanere produttivi, proprio come abbiamo i nostri tasti di scelta rapida e segreti per fare le cose più velocemente e meglio. Sia che si usi IntelliJ, Eclipse o VS Code per scrivere codice o JUnit per i test, o Maven o Gradle per la gestione delle dipendenze e l'automazione della compilazione, non c'è nulla che possa costringerci a mettere da parte gli strumenti preferiti e imparare qualcosa di nuovo. Ecco perché Azure consente agli sviluppatori Java di trasferire le proprie applicazioni nel cloud negli strumenti e nei framework preferiti e nel sistema operativo preferito. Di seguito vengono esaminati più in dettaglio alcuni di questi strumenti.
IDE - VS Code, IntelliJ ed Eclipse
Un IDE ideale include strumenti per la modifica del codice sorgente, la compilazione, l'automazione della compilazione locale, i test e il debug, oltre a controlli e strumenti di monitoraggio per i servizi back-end per la gestione dei dati, la memorizzazione nella cache, la messaggistica e l'evento. Un set di strumenti integrato che supporta tutte queste attività rende gli sviluppatori più produttivi, consentendo loro di evitare di dover imparare e passare costantemente tra gli strumenti autonomi per ogni attività. IntelliJ, Eclipse e Visual Studio Code sono gli IDE Java più diffusi.
Java in Visual Studio Code
Visual Studio Code (VS Code) è un sistema operativo leggero e indipendente che viene eseguito in Windows, macOS e Linux. Un potente IDE offre un set di strumenti completo per lo sviluppo Java. Supporta qualsiasi Java Development Kit (JDK), tra cui Microsoft Build of OpenJDK, Amazon Corretto, Eclipse Adoptium e Oracle Java SE. VS Code si integra anche con tutti i framework Java, i server applicazioni e altri strumenti più diffusi, tra cui Tomcat, Spring Boot, JBoss EAP, WildFly, Quarkus, Open Liberty, Maven e Gradle. Supporta anche altri linguaggi di programmazione usati di frequente dagli sviluppatori Java, ad esempio JavaScript e SQL.
VS Code supporta e semplifica i flussi di lavoro di sviluppo Java tramite un'ampia gamma di estensioni Java per Visual Studio Code. Esistono diverse centinaia di estensioni solo per Java, che è possibile cercare dall'interno dell'IDE stesso. Sono stati inseriti in un pacchetto le estensioni chiave per lo sviluppo java fondamentale nel Pacchetto di estensione per Java. Questo pacchetto di estensioni include estensioni per la gestione dei progetti, l'integrazione Maven, la modifica del codice, il completamento del codice, il refactoring, il refactoring, la formattazione, il debug, l'esecuzione e il debug di test case JUnit/TestNG e altro ancora. È disponibile anche un Pacchetto di estensione Spring Boot per lo sviluppo e la distribuzione di applicazioni Spring Boot, incluso il supporto spring initializr.
Azure Tools Extension Pack, creato dai team di progettazione di Azure, offre un set completo di estensioni per l'individuazione e l'interazione con tutti i servizi cloud di Azure che consentono di supportare le applicazioni Java. È possibile usare tutte le estensioni dall'interno di VS Code durante la scrittura, il debug e il test dell'app Java. Quando si è pronti per distribuire l'app, azure Tools Extension Pack supporta la distribuzione con un clic nei vari servizi di calcolo forniti da Azure per l'esecuzione di applicazioni Java.
Java in Visual Studio Code offre una panoramica delle estensioni di Visual Studio Code più diffuse per lo sviluppo Java. Vengono inoltre fornite istruzioni per iniziare a usare lo sviluppo Java con Visual Studio Code, oltre a una procedura dettagliata dei numerosi modi per rendere gli sviluppatori Java più produttivi.
Introduzione a Java in VS Code offre una breve esercitazione che illustra la configurazione di VS Code per lo sviluppo Java, tra cui come scrivere ed eseguire il programma Hello World. Analogamente, sono disponibili brevi esercitazioni che illustrano come compilare un'applicazione Java usando Visual Studio Code e quindi distribuirla con un solo clic in servizi come quelli seguenti:
Se non si ha familiarità con Java in VS Code, provare il comando "Java: Tips for Beginners" (Java: Tips for Beginners) nel riquadro comandi principale.
Azure Toolkit for IntelliJ
Azure Toolkit for IntelliJ consente agli sviluppatori Java di creare, sviluppare, testare e distribuire applicazioni Java in Azure usando l'IDE IntelliJ. Ad esempio, gli sviluppatori possono usarlo per eseguire le attività seguenti:
- Distribuire applicazioni Web Java in app Azure Servizio e contenitori personalizzati nel servizio app Azure.
- Distribuire applicazioni Java o Spring o qualsiasi applicazione in contenitori in App Azure Container.
- Distribuire applicazioni serverless in Funzioni di Azure.
Tutti questi esempi usano i servizi di calcolo per l'esecuzione di Java in Azure, che verranno illustrati più dettagliatamente più avanti in questa documentazione. Le integrazioni di Spring Cloud azure vengono fornite tramite le esperienze Spring Initializr in IntelliJ. È sufficiente aggiungere le librerie e i driver Java appropriati (incluso Azure SDK per Java) come dipendenze nel progetto Java.
Microsoft investe attivamente tempo e risorse per offrire più funzionalità per IntelliJ, incluse nuove esperienze per lo sviluppo nativo del cloud e un'integrazione più approfondita con i servizi di Azure, incluse le integrazioni con servizio Azure Kubernetes e Application Insights.
Azure Toolkit for Eclipse
Azure Toolkit for Eclipse consente agli sviluppatori Java di creare, sviluppare, testare e distribuire applicazioni Java in Azure usando l'IDE Eclipse. Include librerie e driver Java chiave, tra cui Azure SDK per Java. Gli sviluppatori possono usare Azure Toolkit for Eclipse per eseguire le attività seguenti dall'IDE di Eclipse:
- Distribuire java App Web in app Azure Servizio e contenitori personalizzati in servizio app.
- Distribuire applicazioni Java o Spring o qualsiasi applicazione in contenitori in App Azure Container.
- Distribuire applicazioni serverless in Funzioni di Azure usando plug-in Maven o Gradle.
Gestione delle dipendenze e automazione della compilazione - Maven, Gradle e GitHub
Maven e Gradle sono due comuni strumenti di gestione dei progetti, gestione delle dipendenze e strumenti di automazione per le applicazioni Java. Questi strumenti sono ben integrati negli IDE Java più diffusi, con una distribuzione con un clic per supporto tecnico di Azure tramite un set di plug-in per ogni strumento.
Plug-in Maven per i servizi di Azure
I plug-in Maven per i servizi di Azure consentono di estendere i flussi di lavoro di sviluppo Maven in Azure, testare le applicazioni Java in locale e quindi distribuirle nei servizi di Azure in un unico passaggio, in modo da integrarsi con i metodi di autenticazione di Azure e i Controllo di accesso basati sui ruoli di Azure. Il plug-in Maven per app Azure Service consente di distribuire progetti di applicazione Web Java Maven in app Azure Service e in contenitori personalizzati in servizio app. Il plug-in Maven per Funzioni di Azure consente di distribuire progetti di applicazioni Java serverless Maven in Funzioni di Azure.
Plug-in Gradle per i servizi di Azure
I plug-in Gradle per i servizi di Azure sono simili a quelli per Maven. Consentono di distribuire le applicazioni Java nei servizi di Azure in un unico passaggio, in modo da integrarsi con i metodi di autenticazione di Azure e i Controllo di accesso basati sui ruoli di Azure. Il plug-in Gradle per il servizio app Azure consente di distribuire progetti di applicazioni Web Java Gradle in app Azure Service e in contenitori personalizzati in servizio app e il plug-in Gradle per Funzioni di Azure consente di distribuire progetti di applicazioni Java serverless Gradle in Funzioni di Azure.
GitHub
GitHub è un repository diffuso per le applicazioni Java, che offre un ambiente DevOps per più di 3,5 milioni di applicazioni Java. Usando GitHub Actions per Java, è possibile eseguire attività come quelle seguenti:
- Scaricare e configurare una versione richiesta di Java.
- Estrarre e memorizzare nella cache una versione personalizzata di Java da un file locale.
- Configurare gli strumenti di esecuzione per la pubblicazione usando Maven, Gradle o una chiave privata gpg.
- Registrare i matcher di problemi per l'output degli errori.
- Dipendenze della cache gestite da Maven o Gradle.
GitHub Actions semplifica l'automazione di tutto il flusso di lavoro del software Java usando ci/CD di livello mondiale. È possibile compilare, testare e distribuire il codice in Azure direttamente da GitHub. Eseguire revisioni del codice, gestione dei rami e valutare i problemi nel modo desiderato. È possibile eseguire la distribuzione in uno dei servizi di Azure per l'esecuzione di applicazioni Java.
GitHub supporta anche i contenitori di sviluppo per Java, a cui è possibile accedere tramite GitHub Codespaces o VS Code Remote - Containers.
Pipeline jenkins
Molti clienti Microsoft che eseguono Java in Azure usano Jenkins, un server di automazione open source, per compilare, testare e distribuire le applicazioni. Se si usa Jenkins, è possibile gestire il codice sorgente in Azure DevOps, GitHub o qualsiasi altro sistema di gestione del codice sorgente continuando a usare Jenkins per le compilazioni CI/CD, ad esempio attivando una compilazione Jenkins quando si esegue il push del codice nel repository Git del progetto.
Azure Pipelines
Azure Pipelines, parte del servizio Azure DevOps , consente di compilare, testare e distribuire continuamente le applicazioni Java in qualsiasi piattaforma e cloud. Funziona con GitHub (o Azure Repos) per il controllo del codice sorgente, consentendo di compilare usando Maven o Gradle e quindi distribuirlo in uno dei servizi di Azure per l'esecuzione delle applicazioni Java.
Interfaccia della riga di comando di Azure
L'interfaccia della riga di comando di Azure (INTERFACCIA della riga di comando) è uno strumento da riga di comando multipiattaforma per la creazione, la connessione e la gestione delle risorse di Azure, inclusa l'esecuzione di comandi del terminale tramite prompt della riga di comando o script. È possibile installare l'interfaccia della riga di comando di Azure in locale in computer linux, macOS o basati su Windows, eseguirla da un contenitore o accedere all'interfaccia della riga di comando di Azure da un browser tramite Azure Cloud Shell.
L'esempio seguente illustra come usare l'interfaccia della riga di comando di Azure per distribuire un file JAR o WAR in App Azure Container:
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
Riepilogo
Quando si usa Java con Azure, è possibile scegliere i propri strumenti. È possibile compilare test, eseguire il debug e risolvere i problemi di qualsiasi applicazione Java (incluse le applicazioni polyglot) usando il computer preferito, tra cui Windows, macOS, Linux e computer basati sul cloud. È anche possibile distribuire l'applicazione in Azure in qualsiasi server applicazioni o con qualsiasi server applicazioni incorporato.