Ich durfte an einem Projekt teilhaben, in dem für eine neu zu erstellende Anwendung Wicket eingesetzt wurde. Am Anfang wurde das Projekt entsprechend der Anforderungen aufgesetzt (Maven, Hibernate, Spring, Wicket) und der Rahmen der Anwendung geschaffen (Konfiguration der Datenbank, Unittests, etc.). Nach einer doch recht kurzen Einführung in Wicket wurde die Anwendung ohne fremde Hilfe (wenn man mal Google mal ausklammert) entwickelt und mit immer mehr Funktionen angereichert. Gestern habe ich mir den aktuellen Stand angesehen und musste feststellen, dass entgegen meinen Erwartungen eine recht vernünftige Anwendung entstanden ist.
Warum habe ich das so nicht erwartet?
In dem Projekt war bisher wenig bis kein Wissen über Java und die benutzten Frameworks vorhanden. In der kurzen Einführung konnten weder die Sprache, noch die verwendeten Technologien ausführlich genug erklärt werden. Das bedeutet normalerweise, dass die Lösungen, die bei solchen Unterfangen entstehen, verschiedenste Defizite aufweisen. Neben der Tatsache, dass die Anwendung funktioniert (sicher gibt es noch irgendwo ein paar Fehler, aber wo gibt es die nicht), ist die Anwendung auch noch in einer ausreichend guten Verfassung, so dass die Struktur verstanden werden konnte und die Anpassungen, die wir durchgeführt haben, nicht dazu führten, dass etwas nicht mehr funktionierte.
Gründe
Ein nicht unwesentlichen Anteil daran, dass das Projekt besser als erwartet funktioniert hat, trägt sicherlich Wicket als Framework. Wenn man die Hürde genommen hat, die das Thema Modelle darstellt, ist der Rest recht offensichtlich. Eigene Komponenten werden erstellt, weil es a) sehr einfach ist und b) (viel entscheidender) man als Entwickler automatisch davon profitiert. Die Übersichtlichkeit der Anwendung entsteht auf diese Weise automatisch.
Fazit
Das eine Anwendung funktioniert, ist mindestens ein Maßstab zur Bewertung. Diese Anforderung ist gerade bei Webanwendungen nicht einfach zu erreichen. In Anbetracht der eher schlechten Voraussetzungen muss man das Ergebnis als gelungen bezeichnen. Da ich gebeten wurde, meine Einschätzung zu diesem Projekt abzugeben, freut es nicht nur mich, sondern sicher auch das Team, dass ich positiv überrascht bin.
Mit welcher anderen Technologie wäre dieses Projekt ähnlich gut verlaufen?