© Excellent backgrounds/Shutterstock.com
Wartbare Frontends von Webanwendungen mit Java entwickeln

Zweiweltensymbiose


Wartbarkeit bzw. Abänderbarkeit sind kein Selbstzweck. Schlecht wartbare Software führt zu hohen Wartungs- und Weiterentwicklungskosten. Das ist besonders bei Webanwendungen ein Problem, da die Webentwicklung traditionell durch eine Vielzahl an verwendeten Auszeichnungs- und Programmiersprachen geprägt ist. Auf der anderen Seite zeichnet sich die Front­end-Entwicklung durch einen komfortablen Entwicklungsworkflow aus, bei dem Änderungen nach einem Neuladen im Browser sofort sichtbar sind. Wie kann man wartbare Webanwendungen entwickeln, ohne Abstriche beim Entwicklungsworkflow machen zu müssen?

In den letzten Jahren wurde der Umfang der Frontend-Entwicklung von Webanwendungen immer umfangreicher. In diesem Artikel wird unter Frontend alles verstanden, was nicht auf dem Server stattfindet. Daher bezieht sich die Clientseite im Folgenden auf den Browser als Ausführungsumgebung des Frontends. Wo früher die fertigen HTML-Seiten vom Server generiert und ausgeliefert wurden, bestehen heutzutage Webanwendungen teilweise nur noch aus einer einzelnen HTML-Datei (Single-Page-Webanwendung). Dabei wird die Benutzeroberfläche mittels JavaScript erstellt und dynamische Inhalte per Ajax nachgeladen. Durch diesen Wandel wurde JavaScript zum Dreh- und Angelpunkt der Front­end-Entwicklung. Es hat sich von der einst verpönten Skriptsprache für dynamisches HTML zu einer akzeptierten Programmiersprache entwickelt. Ein Grund dafür ist, dass auf der Clientseite die JavaScript-Laufzeitumgebungen der Browser immer schneller und die Browser-APIs mit HTML5 immer mächtiger werden. Mit Node.js hat JavaScript sogar den Sprung auf die Serverseite geschafft.

Mittlerweile ist dieser Trend auch in der Java-EE-Welt angekommen. So hat Java EE 7 Unterstützung für JSON und WebSockets erhalten, was der Entwicklung von Single-Page-Webanwendungen mit Java EE sehr entgegen kommt. So kommt etwa ThoughtWorks in ihrem Technology-Radar 2014 [1] zu dem Schluss, dass sie von der Verwendung von JSF abraten und stattdessen die Verwendung von Frameworks auf der Clientseite empfehlen. Oracle geht in Sachen JavaScript in Java EE mittlerweile sogar so weit, dass mit Projekt Avatar die Verwendung von JavaScript auf der Serverseite ermöglicht wird.

Problemstellung

Allerdings erschwert insbesondere die dynamische ­Natur von JavaScript die Verwendung der gewohnten IDE-Features, wie sie z. B. für Java zur Verfügung stehen. In Java-Code kann z. B. für jede Methode die Aufrufhierarchie ermittelt und für Variablen ...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang