JavaRush /Java-Blog /Random-DE /Java-Trends für 2021: Kotlin, Microservices-Architektur u...

Java-Trends für 2021: Kotlin, Microservices-Architektur und Kubernetes

Veröffentlicht in der Gruppe Random-DE
Die Welt der Entwicklung verändert sich sehr schnell. Um mit den Veränderungen Schritt zu halten, müssen Sie verstehen, was in dieser Welt passiert. Wenn Sie die Trends kennen, können Sie sich an sich schnell ändernde Trends anpassen. Künstliche Intelligenz, zunehmende Integrationen und das Internet der Dinge sind nur ein Teil der globalen Programmiertrends. JavaRush hat den Java-Programmierspezialisten und Dozenten Andrey Rodionov gefragt, was mit Java im Jahr 2021 passieren wird.Java-Trends im Jahr 2021: Kotlin, Microservice-Architektur und Kubernetes – 1

Für welche Bereiche ist Java immer noch die einzige Lösung?

Java wird auch in naher Zukunft eine der Hauptplattformen für die Entwicklung von Unternehmensanwendungen ( d. h. Unternehmensanwendungen, mit denen große Unternehmen Geld verdienen. Solche Anwendungen haben eine große Codebasis und hohe Zuverlässigkeitsanforderungen – Anm. d. Red. ) und Backends bleiben. Java passt gut in die Microservice-Architektur, obwohl es nicht die einzige Alternative zum Schreiben von Microservices ist.

Welche Aussichten haben andere JVM-Sprachen, insbesondere Kotlin, im Vergleich zu Java?

Nach dem Hype um die Sprachen Groovy und Scala ist Kotlin derzeit die führende JVM-Sprache . Es ist bereits zum Standard für die Android-Entwicklung geworden, aber in der Welt der Java-Unternehmen muss es seinen Platz noch erobern. Viele gängige Frameworks ( Spring , Vert.x , gRPC , RSocket ) basieren ebenfalls darauf, sodass es in sich selbst verwendet werden kann.

Kotlin ist eine statisch typisierte, objektorientierte Programmiersprache, die auf der Java Virtual Machine läuft und von JetBrains entwickelt wird. Kompiliert auch zu JavaScript und ausführbarem Code auf einer Reihe von Plattformen über die LLVM-Infrastruktur.

Kotlin-Funktionen: Kompilierung in JVM-Bytecode oder JavaScript, Open Source, leicht lesbare Syntax, Kotlin-Programme können vorhandene Java-Frameworks und -Bibliotheken verwenden.

Wird es aufgrund kürzerer Release-Intervalle zu einem Qualitätsverlust bei Java kommen?

Das wird nicht der Fall sein: Innovationen in der Sprache werden einfach dann veröffentlicht, wenn sie fertig sind, anstatt wie bisher mehrere Jahre bis zur nächsten Veröffentlichung zu warten. Einige Veröffentlichungen werden von den Entwicklern unbemerkt bleiben, da sie keine besonders beliebten Neuerungen mit sich bringen.

Spring Framework: Wird es sein Ökosystem weiter ausbauen, um den unterschiedlichen Bedürfnissen gerecht zu werden?

Das Spring-Ökosystem entwickelt sich aktiv weiter und ich entdecke regelmäßig ein weiteres seiner Unterprojekte, von dem ich noch nie zuvor gehört hatte. Bemerkenswert ist auch, dass Project Reactor und r2dbc, die als Teilprojekte von Spring entstanden sind, inzwischen zu Standards für den reaktiven Ansatz geworden sind.

Project Reactor ist eine Java 8-Bibliothek, die das reaktive Programmiermodell implementiert. Es basiert auf der Reactive Streams-Spezifikation, einem Standard zum Erstellen reaktiver Anwendungen.

R2DBC (Reactive Relational Database Connectivity) ist ein Open-Source-Projekt, das sich der reaktiven Programmierung für SQL widmet.

Was sind die Trends bei der Entwicklung von Cloud-Infrastrukturen IaaS, SaaS, PaaS? Wie erleichtert die Cloud die Entwicklung, Bereitstellung, Wartung und Skalierung der Infrastruktur?

Der Haupttrend hierbei ist weiterhin Kubernetes und die Infrastruktur drumherum in Form eines Service Mesh. Jeder Cloud-Anbieter mit Selbstachtung bietet die Möglichkeit, einen Kubernetes-Cluster zu nutzen. Und wenn eine Anwendung für die Ausführung auf Kubernetes geschrieben wird, ist die Bereitstellung und Skalierung wesentlich einfacher.

Kubernetes (K8s) ist eine Open-Source-Software zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Containeranwendungen.

Kubernetes gruppiert die Container, aus denen eine Anwendung besteht, zur einfacheren Verwaltung und Erkennung in logische Einheiten.

Kubernetes verwaltet und betreibt Container auf einer großen Anzahl von Hosts und ermöglicht die gemeinsame Platzierung und Replikation einer großen Anzahl von Containern. Das Projekt wurde von Google ins Leben gerufen und wird mittlerweile von vielen Unternehmen unterstützt, darunter Microsoft, RedHat, IBM und Docker.

Auf welche weiteren Entwicklungstrends lohnt es sich im Jahr 2021 zu achten?

Einer der interessanten Trends, der immer noch auf dem Vormarsch ist, ist GraalVM Native Image, mit dem Sie eine herkömmliche Java-Anwendung in eine binäre Anwendung umwandeln können, für deren Betrieb die JVM und die zugehörigen Bibliotheken nicht erforderlich sind. Eine solche Binärdatei passt sehr gut in die Microservice-Architektur und den serverlosen Ansatz, da Sie damit sehr schnell eine neue Instanz der Anwendung starten können und kein „Aufwärmen“ der JVM erforderlich ist.

Haben sich die Anforderungen an junge Entwickler in letzter Zeit durch die Entwicklung von Java verändert?

Die meisten Projekte enthalten immer noch Java-8-Innovationen, auch wenn Entwickler neuere Java-Versionen verwenden. Daher ist die Hauptvoraussetzung die Kenntnis der Stream-API und der funktionalen Programmierelemente . Es ist auch gut, Kenntnisse über die Architektur von Microservices , Docker und Kubernetes zu haben , da sich ein unerfahrener Entwickler in einem modernen Projekt sofort damit auseinandersetzen muss.

Die Stream-API ist eine neue Möglichkeit, mit Datenstrukturen in einem funktionalen Stil zu arbeiten. Eine Stream-API (eine Beschreibung der Art und Weise, wie ein Computerprogramm mit einem anderen Programm kommunizieren kann) ist im Kern ein Datenstrom.

Mit dem Aufkommen von Java 8 ermöglichte die Stream-API Programmierern, viel kürzer zu schreiben, was zuvor viele Codezeilen erforderte, nämlich die Arbeit mit Datensätzen zu vereinfachen, insbesondere das Filtern, Sortieren und andere Datenmanipulationsvorgänge zu vereinfachen. Wenn Sie keine Zwischenoperationen haben, können und sollten Sie oft auf einen Stream verzichten, da der Code sonst komplizierter wird als ohne Stream.

Docker ist eine Software zur Automatisierung der Bereitstellung und Verwaltung von Anwendungen in Containerumgebungen.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION