Kleine Helfer

Apache Wicket bietet schlankes Web-Framework für Java

30.05.2013 | von 
Diego Wyllie
Diego Wyllie hat Wirtschaftsinformatik an der TU München studiert und verbringt als Softwareentwickler und Fachautor viel Zeit mit Schreiben – entweder Programmcode für Web- und Mobile-Anwendungen oder Fachartikel rund um Softwarethemen.
Email:
Während bei aktionsorientierten Web-Frameworks wie "JSP", "Struts" und "Grails" der Entwickler direkt für die Behandlung von HTTP-Anfragen zuständig ist, wird dies bei komponentenorientierten Lösungen durch ein Server-seitiges Komponentenmodell abstrahiert und vereinfacht.
Apache Wicket - schlankes Web-Framework für Java.
Apache Wicket - schlankes Web-Framework für Java.

Im Vordergrund steht dabei die einfache Erstellung von GUI-Komponenten, die zu einer komplexen Web-Oberfläche zusammengesetzt und auch in verschiedenen Projekten ohne zusätzlichen Aufwand wiederverwendet werden können. Zu den populären Vertretern dieser Kategorie zählt neben "Tapestry", "Java Server Faces" und "Google Web Toolkit" auch "Apache Wicket".

Das Framework abstrahiert das zustandslose HTTP-Protokoll mit einem durchdachten objektorientierten Programmiermodell, das es Entwicklern ermöglicht, Web-Applikationen analog zu Desktop-Anwendungen mit Swing zu implementieren. Dem "Convention-over-Configuration"-Ansatz folgend, werden Benutzeroberflächen durch eine Java-Klasse und eine zugehörige gleichnamige HTML-Datei repräsentiert.

Ajax out of the Box

In der Klasse werden sämtliche Komponenten wie Labels, Buttons und Textfelder definiert. Im HTML-Code müssen dann die zugehörigen Tags mit dem Attribut "wicket:id" markiert werden. Dabei kann man vorgegebene Klassen wie Label, Button oder TextField sowie anwendungsspezifische Komponentenklassen verwenden. Diese lassen sich zudem an Modellobjekte binden, was die Konvertierung, Validierung und Speicherung von Benutzereingaben vereinfacht. Darüber hinaus gibt es Ajax-Unterstützung "out of the box".

CW-Fazit: Apache Wicket ermöglicht es Java-Entwicklern, Web-Anwendungen mit komplexen Benutzeroberflächen effizient zu implementieren. (ph)

Newsletter 'Software' bestellen!