Jump to section

Was sind Java Frameworks?

URL kopieren

Java Frameworks sind fertig vorformulierte Codeabschnitte, mit denen Entwickler Apps in der Programmiersprache Java erstellen.

Java Frameworks sind spezifisch für die Programmiersprache Java. Es handelt sich dabei um eine Java-Plattform zum Entwickeln von Softwareanwendungen und Java-Programmen.

Java Frameworks sind wiederverwendbare vorformulierte Codeabschnitte, die als Vorlagen für Entwickler dienen. Sie können damit Anwendungen erstellen, indem sie nach Bedarf benutzerdefinierten Code eingeben.

Frameworks können immer wieder verwendet werden. So können Entwickler Anwendungen ohne manuellen Aufwand programmieren und müssen nicht alles von Grund auf neu erstellen.

Java Frameworks können vordefinierte Klassen (z. B. Kategorien von Objekten) und Funktionen enthalten, die zum Verarbeiten, Eingeben und Verwalten von Hardwaregeräten sowie zum Interagieren mit Systemsoftware verwendet werden können. Die Art der Verwendung hängt von der Art des Frameworks, den Kenntnissen, Zielen und Vorlieben des Java-Entwicklers ab.

Java ist eine objektorientierte Programmiersprache (OOP), die seit 1995 verwendet wird. Entwickler verwenden Java, um Anwendungen so zu programmieren, dass sie innerhalb der Grenzen der Domain funktionieren, in der sie sich befinden.

Java darf nicht mit JavaScript verwechselt werden, einer anderen Programmiersprache, die ungefähr zur gleichen Zeit von einem anderen Unternehmen entwickelt wurde. Bei der Java-Entwicklung werden Apps erstellt, die in Browsern oder auf Bare-Metal-Maschinen, virtuellen Maschinen oder Containern von Servern ausgeführt werden können. JavaScript kann nur in Browsern ausgeführt werden.

Eine Library ist eine bestimmte Funktion einer Anwendung, ein Framework ist ihr Grundgerüst, und die API bringt beide für den Nutzer zusammen. Ein Framework kann eine Library, einen Compiler oder andere im Entwicklungsprozess verwendete Programme enthalten. Bei einem guten Framework braucht sich ein Entwickler innerhalb einer Domain oder App nicht mit wiederkehrenden Code zu befassen.

Library

Eine Library ist eine Sammlung häufig verwendeter vorkompilierter Routinen oder Ressourcen (Klassen, Vorlagen, Konfigurationsdaten usw.), die von einem Computerprogramm verwendet werden können. Anstatt den Code für diese Funktion jedes Mal neu zu schreiben, wenn eine Aufgabe ausgeführt werden muss, werden Routinen verwendet, die immer dann aufgerufen werden, wenn die Aufgabe ausgeführt werden muss. Wenn eine Ressource benötigt wird, ruft das Programm die Library dafür auf.

Framework

Ein Framework kann als eine Sammlung von Libraries bezeichnet werden. Der Hauptunterschied zwischen den beiden ist die Umkehrung der Kontrolle – Frameworks haben die Kontrolle, eine Aktion aufzurufen. Das Framework verfügt bereits über die Vorlage oder den Rahmen für das, was benötigt wird. Das heißt, dass es die benötigten Ressourcen basierend auf den bereits vorhandenen Ressourcen (bzw. den Lücken im Code, die gefüllt werden müssen) abrufen kann.

API

Ein Framework ähnelt einer API (Application Programming Interface). Frameworks enthalten technisch gesehen APIs. Frameworks sind die Basis für die Programmierung, während APIs den Zugriff auf die vom Framework unterstützten Elemente ermöglichen.

Java und der cloudnative Ansatz haben noch viel mehr zu bieten.

Es gibt verschiedene Java Frameworks. Welche Frameworks verwendet werden, hängt von den Kompetenzen eines Entwicklers und den Anforderungen an die Apps oder Websites ab. Einige beliebte Open Source Frameworks sind:

  • Quarkus ist ein Full-Stack Java Framework, das gut für cloudnative, auf Microservices basierende Infrastrukturen geeignet ist.
  • Grails ist in der Programmiersprache Groovy geschrieben und wird verwendet, um in Webanwendungs-Frameworks Ansichten für HTML- und CSS-Plugins bereitzustellen.
  • Hibernate ist ein ORM-Framework (Object Relational Mapping) für die Verwaltung relationaler Datenbanken, mit dem SQL-Abfragen mithilfe von APIs ausgeführt werden können, die von Java Database Connectivity (JDBC) bereitgestellt werden.
  • Das Google Web Toolkit (GWT) verbindet Entwicklungsteams an Frontend/Clientseite und Backend miteinander.

Andere beliebte Java Frameworks sind:

  • Vaadin mit Frameworks, die sich auf Benutzeroberflächen konzentrieren 
  • Play, das die Entwicklung von Web-Apps optimiert und gut mit der Programmiersprache Scala funktioniert
  • Apache Struts, das den Fokus auf Unternehmensanwendungen legt und gut mit asynchronen JavaScript- und XML-Techniken (AJAX) funktioniert – eine gute Möglichkeit, Webseiten abschnittsweise zu aktualisieren
  • JavaServer Faces (JSF) von Oracle, das Frontend-Frameworks für Backend-Entwickler bereitstellt

Quarkus ist ein Kubernetes-nativer Java Stack für Java Virtual Machines (JVMs) und native Kompilierung. Es optimiert Java speziell für Kubernetes und wird zu einer effektiven Plattform für Serverless-, Cloud- und Kubernetes-Umgebungen.

Die Dependency-Injection-Lösung von Quarkus basiert auf CDI (Contexts and Dependency Injection) und umfasst ein Framework, mit dessen Hilfe die Funktionalität erweitert und ein Framework konfiguriert, gebootet und in Ihre Anwendung integriert werden kann. Eine Erweiterung kann genauso einfach hinzugefügt werden wie eine Dependency. Alternativ können Sie Quarkus Tools verwenden.

Weiterlesen

ARTIKEL

Zustandsbehaftet oder zustandslos?

Ob etwas zustandsbehaftet oder zustandslos ist, hängt davon ab, wie lange der Zustand der Interaktion erfasst wird und wie diese Informationen gespeichert werden müssen.

ARTIKEL

Was ist Quarkus?

Quarkus ist ein Kubernetes-nativer Java Stack für Java Virtual Machines (JVMs) und native Kompilierung, mit dem Java speziell für Container optimiert wird.

ARTIKEL

Was ist Serverless?

Der Begriff „Serverless" (serverlos) bezieht sich auf ein cloudnatives Entwicklungsmodell, bei dem Entwickler Anwendungen erstellen und ausführen können, ohne Server verwalten zu müssen.

Mehr über cloudnative Anwendungen erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Unternehmensanwendungen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Ressourcen

Training

Kostenloses Training

Developing Cloud-Native Applications with Microservices Architectures