Skalierbare komponentenorientierte Webapplikationen effizient entwickeln

Apache Tapestry

Christian Köberl


Nach einem meiner Tapestry-Einführungsworkshops kam ein Teilnehmer auf mich zu und fragte, warum ein so „geniales“ Framework wie Tapestry [1] im deutschsprachigen Raum eigentlich so unbekannt sei. Er habe im Java Magazin noch nie etwas darüber gelesen. Dabei konnte man es doch nicht belassen – oder? Das Ergebnis: diese vierteilige Artikelserie, die dabei helfen soll, Tapestry etwas bekannter zu machen.

ArtikelserieTeil 1: Überblick und Konzepte, Events, InternationalisierungTeil 2: CRUD mit Bean Editor und GridTeil 3: Eigene Komponenten, JavaScript und AjaxTeil 4: Integration mit anderen Frameworks, Best Practices

Ein wenig Tapestry-GeschichteIm Jahr 2000 erstellte Howard Lewis Ship die erste Version von Tapestry, inspiriert durch das Framework WebObjects [2] (von Apple bzw. davor NeXT). Im Jahr 2003 wurde aus Tapestry 3 ein Apache-Projekt, zuerst noch unter Jakarta, ab dem Jahr 2006 dann ein Apache-Top-Level-Projekt. 2006 kam mit Tapestry 5 noch einmal eine große Änderung in der Basis von Tapestry: Die XML-basierte Konfiguration der Vorgängerversionen wurde durch Convention over Configuration und Java-basierte Konfiguration abgelöst. Dieser Bruch mit der Rückwärtskompatibilität wurde immer wieder als Kritikpunkt aufgeführt. Seither sind die Folgeversionen kompatibel, und Tapestry hat Kompatibilität sogar zu einem seiner vier Grundprinzipien erklärt. Die grundsätzliche Umstellung mit Tapestry 5 hat aber auch seine guten Seiten: Die dadurch gewonnene Flexibilität und Eleganz hätte man mit der Tapestry-4-Codebasis so nicht erreichen können. Im November 2011 wurde die aktuelle Tapestry-Version 5.3 fertiggestellt. Wichtige Neuerungen sind folgende:Template Skinning: Diese Erweiterung ermöglicht es, verschiedene Templates für verschiedene Stile oder Themes zu hinterlegen – was man z. B. nutzen kann, um separate Versionen für Desktop- und Mo­bile-Browser zu erstellen.JavaScript- und CSS-Komprimierung: Vorige Versionen von Tapestry fügten bereits JavaScript-Dateien in eine zusammen. Mit Tapestry 5.3 werden nun JavaScripts und Stylesheets per YUI Compressor [3] komprimiert. Dadurch ergeben sich schnellere Ladezeiten von Seiten, da Roundtrips und Größe der Downloads minimiert werden.Neue Komponenten: Alerts und Tree: Alerts sammeln Infos, Warnungen und Fehler während des Requests und zeigen diese dem User in der Alerts-Komponente an. Das ist vor allem in Zusammenhang mit Ajax Requests sehr nützlich, da einfach Feedback an den User gegeben werden kann. Tree stellt,...

Skalierbare komponentenorientierte Webapplikationen effizient entwickeln

Apache Tapestry

Christian Köberl


Nach einem meiner Tapestry-Einführungsworkshops kam ein Teilnehmer auf mich zu und fragte, warum ein so „geniales“ Framework wie Tapestry [1] im deutschsprachigen Raum eigentlich so unbekannt sei. Er habe im Java Magazin noch nie etwas darüber gelesen. Dabei konnte man es doch nicht belassen – oder? Das Ergebnis: diese vierteilige Artikelserie, die dabei helfen soll, Tapestry etwas bekannter zu machen.

ArtikelserieTeil 1: Überblick und Konzepte, Events, InternationalisierungTeil 2: CRUD mit Bean Editor und GridTeil 3: Eigene Komponenten, JavaScript und AjaxTeil 4: Integration mit anderen Frameworks, Best Practices

Ein wenig Tapestry-GeschichteIm Jahr 2000 erstellte Howard Lewis Ship die erste Version von Tapestry, inspiriert durch das Framework WebObjects [2] (von Apple bzw. davor NeXT). Im Jahr 2003 wurde aus Tapestry 3 ein Apache-Projekt, zuerst noch unter Jakarta, ab dem Jahr 2006 dann ein Apache-Top-Level-Projekt. 2006 kam mit Tapestry 5 noch einmal eine große Änderung in der Basis von Tapestry: Die XML-basierte Konfiguration der Vorgängerversionen wurde durch Convention over Configuration und Java-basierte Konfiguration abgelöst. Dieser Bruch mit der Rückwärtskompatibilität wurde immer wieder als Kritikpunkt aufgeführt. Seither sind die Folgeversionen kompatibel, und Tapestry hat Kompatibilität sogar zu einem seiner vier Grundprinzipien erklärt. Die grundsätzliche Umstellung mit Tapestry 5 hat aber auch seine guten Seiten: Die dadurch gewonnene Flexibilität und Eleganz hätte man mit der Tapestry-4-Codebasis so nicht erreichen können. Im November 2011 wurde die aktuelle Tapestry-Version 5.3 fertiggestellt. Wichtige Neuerungen sind folgende:Template Skinning: Diese Erweiterung ermöglicht es, verschiedene Templates für verschiedene Stile oder Themes zu hinterlegen – was man z. B. nutzen kann, um separate Versionen für Desktop- und Mo­bile-Browser zu erstellen.JavaScript- und CSS-Komprimierung: Vorige Versionen von Tapestry fügten bereits JavaScript-Dateien in eine zusammen. Mit Tapestry 5.3 werden nun JavaScripts und Stylesheets per YUI Compressor [3] komprimiert. Dadurch ergeben sich schnellere Ladezeiten von Seiten, da Roundtrips und Größe der Downloads minimiert werden.Neue Komponenten: Alerts und Tree: Alerts sammeln Infos, Warnungen und Fehler während des Requests und zeigen diese dem User in der Alerts-Komponente an. Das ist vor allem in Zusammenhang mit Ajax Requests sehr nützlich, da einfach Feedback an den User gegeben werden kann. Tree stellt,...

Neugierig geworden?


    
Loading...

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