Get your wingS back!

Fazit

Dass die Entwicklung von Web-Anwendungen längst nicht mehr bedeuten muss, in Seiten, HTML und HTTP Requests zu denken, sondern dass auch eine komponenten- und eventorientierte Entwicklung möglich ist, ist inzwischen ein alter Hut. Nicht ganz so verbreitet dagegen ist wohl die Erfahrung, dass man hierbei im Entwicklungsalltag auf fachfremde Technologien wie XML, HTML oder JavaScript sogar gänzlich verzichten kann und sich gerade umfangreiche und komplexe Web-Applikationen wunderbar über reine Java-APIs realisieren lassen. Durch die immer stärker verbreitete Technologie „Ajax“ hat sich die Komplexität im Bereich der Web-Entwicklung zudem stark erhöht, so dass es immer wichtiger wird mit sinnvollen Abstraktionsstufen arbeiten zu können. Wer diese Erfahrung bislang vermisst hat, dem kann nur geraten werden, z.B. mit einem der genannten Frameworks, erste Gehversuche zu wagen. Hervorragende Lösungen stellen sie fraglos alle drei dar.

RAP unternimmt mit seinem Ansatz den ehrgeizigsten Versuch das Verhalten und Programmiermodell seiner Eclipse Desktop-Umgebung auf das Web zu übertragen. Ob dabei seine Gesamt-Komplexität in der Anwendung beherrschbar bleibt, muss sich noch zeigen. Auf der anderen Seite gibt die verwendete OSGi- und RCP-Architektur bereits einen umfangreichen Rahmen vor, den es aber auch anzunehmen gilt.

Leichtgewichtiger sind dagegen Echo2 und wingS unterwegs. Beide besitzen sehr ähnliche Konzepte und grenzen sich mehr unter der Haube voneinander ab. Echo2 steckt vor allem bei den Möglichkeiten für Layout und Tabellen aber auch seinen Komponenten im Allgemeinen zurück, kann dafür aber mit schickeren MDI-Fenstern, optisch ansprechenden Zusatzkomponenten und einem kommerziellen GUI-Builder aufwarten.

Sein Vorbild Swing wirklich wortgetreu imitiert wingS und bietet besonders Einsteigern mit entsprechendem Vorwissen einfachsten Zugang und breitere Möglichkeiten in der Tiefe. Im direkten Vergleich hat es durch volle CSS-Unterstützung, seinem einfachen Renderer-Ansatz und der Möglichkeit für HTML-Layouts beim Thema Styling und Layout mit Abstand die umfassendsten Möglichkeiten um individuelle Designs umzusetzen. Die feingranularen Aktualisierungen und der original Swing-Funktionsumfang lassen es auch im Bereich der Standard-Komponenten etwas im Vorteil gegenüber Echo2 erscheinen. Trotz des hohen Maßes an Kontrollmöglichkeiten über die Web-Schicht bleiben RIA-Features wie die Tastatursteuerung, Drag & Drop oder die inkrementellen Seitenaktualisierungen transparent für den Entwickler und belegen die gelungene Mischung zwischen Abstraktion und Detail. Eine Brücke in die Welt der agilen Entwicklung schlägt der neu erschienene WingSBuilder und ermöglicht die dynamische Einbindung von wingS in Groovy-Skripte. Auch für die nahe Zukunft hat wingS interessante Themen zu bieten; so steht unter anderem das Thema Reverse-Ajax bzw. Comet auf dem Plan der geplanten Neuerung. Es bleibt also in jedem Fall spannend.

Benjamin Schmid ist Software-Architekt und Technischer Consultant bei der eXXcellent solutions GmbH. Neben seiner Mitarbeit bei zahlreichen Kundenprojekten liegen seine Schwerpunkte in Methodiken und Frameworks für graphische Oberflächen. Seit 2003 beteiligt er sich aktiv an der Weiterentwicklung des wingS Frameworks.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.