GNU/Linux >> Linux Esercitazione >  >> Linux

3 motivi Quarkus 2.0 migliora la produttività degli sviluppatori su Linux

Non importa per quanto tempo lavori come sviluppatore di applicazioni e indipendentemente dal linguaggio di programmazione che usi, probabilmente hai ancora difficoltà ad aumentare la tua produttività di sviluppo. Inoltre, nuovi paradigmi, tra cui cloud computing, DevOps e sviluppo basato su test, hanno notevolmente accelerato il ciclo di vita dello sviluppo per i singoli sviluppatori e i team multifunzionali.

Potresti pensare che gli strumenti open source possano aiutare a risolvere questo problema, ma direi che molti framework di sviluppo open source e strumenti per la codifica, la creazione e il test peggiorano queste sfide. Inoltre, non è facile trovare strumenti di sviluppo Kubernetes appropriati da installare su distribuzioni Linux a causa delle dipendenze del sistema e delle limitazioni del supporto.

Fortunatamente, puoi aumentare la produttività dello sviluppo su Linux con Quarkus, uno stack Java nativo di Kubernetes. Quarkus 2.0 è stato rilasciato di recente con nuove utili funzionalità per il test nella console per sviluppatori.

UX/UI interattivo per sviluppatori

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Se devi aggiungere più di 10 dipendenze (ad es. connessioni al database, mappatura relazionale di oggetti, formattazione JSON, specifiche API REST) ​​al tuo progetto Java Maven, devi definire più di 60 configurazioni con chiavi e valori in uno o più application.properties File. Più configurazioni riducono la leggibilità per i singoli sviluppatori e sono più difficili da gestire per i team di sviluppatori.

Quarkus ha un'interfaccia interattiva per visualizzare tutte le dipendenze che sono state aggiunte. È disponibile su localhost:8080/q/dev endpoint dopo aver avviato la modalità di sviluppo di Quarkus con mvn quarkus:dev comando. Puoi anche aggiornare le configurazioni nell'interfaccia utente (UI) DEV, come mostra la Figura 1, e le modifiche si sincronizzeranno automaticamente con application.properties file.

(Nota:puoi trovare l'intero codice dell'applicazione Quarkus per questo articolo nel mio repository GitHub.)

Test continui migliori

Quando si sviluppa un'applicazione, da un monolito a microservizi, è necessario testare il codice. Spesso, un team dedicato all'assicurazione della qualità (QA) che utilizza strumenti di integrazione continua (CI) esterni è responsabile della verifica dei test unitari. Ha funzionato per anni e funziona ancora, ma Quarkus consente ai programmatori di eseguire test nell'ambiente di runtime in cui il loro codice è in esecuzione durante lo sviluppo. Quarkus 2.0 fornisce questa funzionalità di test continuo tramite l'interfaccia della riga di comando (CLI) e l'interfaccia utente DEV, come mostrato nella Figura 2.

Il test continuo non è in esecuzione all'avvio di un'applicazione Quarkus. Per avviarlo, fai clic su "Test non in esecuzione" in basso a destra dell'interfaccia utente del DEV. Puoi anche aprire un terminale web facendo clic su "Apri" sul lato sinistro dell'interfaccia utente di DEV. Entrambe queste opzioni sono evidenziate nella Figura 2 e un esempio di risultato del test è mostrato nella Figura 3.

Se modifichi il codice (ad es. "Hello" in "Hi" in hello() metodo) ma non il codice di test (indipendentemente dal fatto che la funzione funzioni), il test avrà esito negativo, come mostrato nella Figura 4. Per risolverlo, aggiorna il codice di test insieme al codice logico.

Puoi rieseguire i casi di test implementati in src/test/java/ directory. Questa funzionalità allevia la necessità di integrarsi con uno strumento CI esterno e garantisce funzionalità mentre si sviluppa continuamente la logica aziendale.

Configurazione zero con i servizi di sviluppo

Quando si sviluppa per un obiettivo specifico, è importante che l'ambiente di sviluppo rifletta accuratamente l'ambiente in cui deve essere eseguito. Ciò può rendere un po' difficile l'installazione di un database in un luogo come un ambiente locale. Se stai sviluppando su Linux, puoi eseguire il database richiesto in un contenitore, ma tendono a funzionare in modo diverso in base alle risorse disponibili e il tuo ambiente locale probabilmente non ha le stesse risorse dell'ambiente di produzione di destinazione.

Quarkus 2.0 aiuta a risolvere questo problema fornendo servizi di sviluppo basati su Testcontainer. Ad esempio, puoi testare le applicazioni se funzionano nel database di produzione, PostgreSQL, anziché in un datastore in memoria H2 con le seguenti configurazioni:

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)

Nel codice sopra:

(1) Il tipo di database che collegherai per lo sviluppo e il test

(2) Nome utente origine dati

(3) Password origine dati

(4 ) Il tipo di database che collegherai per la produzione

(5) URL dell'origine dati

(6) Il nome dell'immagine del contenitore da utilizzare per i fornitori di DevServices; se il provider non è basato su container (ad es. database H2), ciò non ha alcun effetto

Quando Quarkus si riavvia con la nuova configurazione, l'immagine del contenitore Postgres verrà creata e inizierà a funzionare automaticamente, come nella Figura 5.

Questa funzione consente di rimuovere il test di integrazione del datastore di produzione. Aumenta anche la produttività dello sviluppo evitando le disparità ambientali nel ciclo di sviluppo.

Conclusione

Quarkus 2.0 aumenta la produttività degli sviluppatori con test continui integrati, un'interfaccia utente DEV interattiva e servizi di sviluppo. Inoltre, offre funzionalità aggiuntive per migliorare le esperienze degli sviluppatori come la codifica live, la modalità di sviluppo remoto su Kubernetes e le configurazioni unificate che accelerano il ciclo di sviluppo. Quarkus 2.0 non fa certo eccezione! Provalo tu stesso qui!


Linux
  1. 10 motivi per amare Linux nel 2021

  2. 3 cheat sheet di Linux essenziali per la produttività

  3. 5 motivi per utilizzare i gestori di pacchetti Linux

  4. Come usare la suite di produttività di KDE, Kontact

  5. 5 motivi per usare Linux nel 2020

8 motivi per utilizzare l'ambiente desktop Xfce Linux

3 strumenti da riga di comando per fingere la produttività

11 motivi per cui dovresti passare a Linux

11 motivi per cui Linux è migliore di Windows

I 10 motivi principali per utilizzare Linux

Linux vs Mac OS:15 motivi per utilizzare Linux invece di Mac OS