GNU/Linux >> LINUX-Kenntnisse >  >> Linux

3 Gründe, warum Quarkus 2.0 die Entwicklerproduktivität unter Linux verbessert

Egal wie lange Sie als Anwendungsentwickler arbeiten und welche Programmiersprache Sie verwenden, Sie haben wahrscheinlich immer noch Schwierigkeiten, Ihre Entwicklungsproduktivität zu steigern. Darüber hinaus haben neue Paradigmen, darunter Cloud Computing, DevOps und testgetriebene Entwicklung, den Entwicklungslebenszyklus für einzelne Entwickler und multifunktionale Teams erheblich beschleunigt.

Sie denken vielleicht, dass Open-Source-Tools helfen könnten, dieses Problem zu lösen, aber ich würde sagen, dass viele Open-Source-Entwicklungsframeworks und Tools zum Codieren, Erstellen und Testen diese Herausforderungen verschlimmern. Außerdem ist es aufgrund von Systemabhängigkeiten und Supporteinschränkungen nicht einfach, geeignete Kubernetes-Entwicklungstools zur Installation auf Linux-Distributionen zu finden.

Glücklicherweise können Sie die Entwicklungsproduktivität unter Linux mit Quarkus, einem Kubernetes-nativen Java-Stack, steigern. Quarkus 2.0 wurde kürzlich mit nützlichen neuen Funktionen zum Testen in der Entwicklerkonsole veröffentlicht.

Interaktive Entwickler-UX/UI

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Wenn Sie Ihrem Java-Maven-Projekt mehr als 10 Abhängigkeiten (z. B. Datenbankverbindungen, objektrelationale Zuordnung, JSON-Formatierung, REST-API-Spezifikationen) hinzufügen müssen, müssen Sie mehr als 60 Konfigurationen mit Schlüsseln und Werten in einem oder mehreren application.properties Dateien. Mehr Konfigurationen verringern die Lesbarkeit für einzelne Entwickler und sind für Entwicklerteams schwieriger zu verwalten.

Quarkus hat eine interaktive Oberfläche, um alle hinzugefügten Abhängigkeiten anzuzeigen. Es ist unter localhost:8080/q/dev verfügbar Endpunkt, nachdem Sie den Quarkus-Entwicklungsmodus mit mvn quarkus:dev gestartet haben Befehl. Sie können Konfigurationen auch in der DEV-Benutzeroberfläche (UI) aktualisieren, wie Abbildung 1 zeigt, und die Änderungen werden automatisch mit application.properties synchronisiert Datei.

(Hinweis:Den gesamten Quarkus-Anwendungscode für diesen Artikel finden Sie in meinem GitHub-Repository.)

Besseres kontinuierliches Testen

Bei der Entwicklung einer Anwendung, von einem Monolith bis hin zu Microservices, müssen Sie Ihren Code testen. Häufig ist ein dediziertes Qualitätssicherungsteam (QA) mit externen Tools für die kontinuierliche Integration (CI) für die Verifizierung von Einheitentests verantwortlich. Das hat jahrelang funktioniert und funktioniert immer noch, aber Quarkus ermöglicht es Programmierern, Tests in der Laufzeitumgebung durchzuführen, in der ihr Code läuft, während er entwickelt wird. Quarkus 2.0 bietet diese kontinuierliche Testfunktion über die Befehlszeilenschnittstelle (CLI) und die DEV-Benutzeroberfläche, wie in Abbildung 2 gezeigt.

Kontinuierliches Testen wird nicht ausgeführt, wenn eine Quarkus-Anwendung gestartet wird. Klicken Sie zum Starten unten rechts auf der DEV-Benutzeroberfläche auf „Tests not running“. Sie können ein Webterminal auch öffnen, indem Sie auf der linken Seite der DEV-Benutzeroberfläche auf „Öffnen“ klicken. Beide Optionen sind in Abbildung 2 hervorgehoben, und ein Beispiel für ein Testergebnis ist in Abbildung 3 dargestellt.

Wenn Sie den Code ändern (z. B. „Hallo“ zu „Hi“ in der hello() -Methode), aber nicht der Testcode (unabhängig davon, ob die Funktion funktioniert), schlägt der Test fehl, wie in Abbildung 4 gezeigt. Um das Problem zu beheben, aktualisieren Sie den Testcode zusammen mit dem Logikcode.

Sie können die in src/test/java/ implementierten Testfälle erneut ausführen Verzeichnis. Diese Funktion macht die Integration mit einem externen CI-Tool überflüssig und stellt die Funktionalität sicher, während die Geschäftslogik kontinuierlich weiterentwickelt wird.

Nullkonfiguration mit Entwicklungsdiensten

Wenn Sie für ein bestimmtes Ziel entwickeln, ist es wichtig, dass Ihre Entwicklungsumgebung die Umgebung, in der sie ausgeführt werden soll, genau widerspiegelt. Das kann die Installation einer Datenbank an einem Ort wie einer lokalen Umgebung etwas schwierig machen. Wenn Sie unter Linux entwickeln, könnten Sie die erforderliche Datenbank in einem Container ausführen, aber sie laufen in der Regel unterschiedlich, je nachdem, welche Ressourcen verfügbar sind, und Ihre lokale Umgebung verfügt wahrscheinlich nicht über dieselben Ressourcen wie die Zielproduktionsumgebung.

Quarkus 2.0 hilft bei der Lösung dieses Problems, indem es Entwicklungsdienste bereitstellt, die auf Testcontainern aufbauen. Beispielsweise können Sie Anwendungen testen, wenn sie in der Produktionsdatenbank PostgreSQL und nicht in einem H2-In-Memory-Datenspeicher mit den folgenden Konfigurationen funktionieren:

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)

Im Code oben:

(1) Die Art der Datenbank, die Sie für Entwicklung und Test verbinden werden

(2) Nutzername der Datenquelle

(3) Passwort der Datenquelle

(4 ) Die Art der Datenbank, die Sie für die Produktion verbinden werden

(5) Datenquellen-URL

(6) Der Container-Image-Name, der für DevServices-Anbieter verwendet werden soll; wenn der Anbieter nicht containerbasiert ist (z. B. H2-Datenbank), hat dies keine Auswirkung

Wenn Quarkus mit der neuen Konfiguration neu gestartet wird, wird das Postgres-Container-Image erstellt und automatisch ausgeführt, wie in Abbildung 5.

Mit dieser Funktion können Sie den Produktionsdatenspeicher-Integrationstest entfernen. Es erhöht auch Ihre Entwicklungsproduktivität, da Umweltunterschiede in der Entwicklungsschleife vermieden werden.

Schlussfolgerung

Quarkus 2.0 erhöht die Entwicklerproduktivität mit integrierten kontinuierlichen Tests, einer interaktiven DEV-Benutzeroberfläche und Entwicklungsdiensten. Darüber hinaus bietet es zusätzliche Funktionen zur Verbesserung der Entwicklererfahrung wie Live-Codierung, Remote-Entwicklungsmodus auf Kubernetes und einheitliche Konfigurationen, die die Entwicklungsschleife beschleunigen. Quarkus 2.0 ist sicherlich keine Ausnahme! Probieren Sie es hier aus!


Linux
  1. 10 Gründe, Linux im Jahr 2021 zu lieben

  2. 3 wichtige Linux-Spickzettel für mehr Produktivität

  3. So verwenden Sie die Produktivitätssuite von KDE, Kontakt

  4. 5 Gründe, Linux im Jahr 2020 zu verwenden

  5. 10 GRÜNDE, WINDOWS 11 KOSTENLOS AUF LINUX ZU ÄNDERN

8 Gründe, die Xfce-Linux-Desktop-Umgebung zu verwenden

3 Kommandozeilen-Tools zum Vortäuschen von Produktivität

11 Gründe, warum Sie zu Linux wechseln sollten

11 Gründe, warum Linux besser ist als Windows

Die 10 wichtigsten Gründe für die Verwendung von Linux

Linux vs. Mac OS:15 Gründe, warum Sie Linux anstelle von Mac OS verwenden sollten