Apache Tapestry: Einstieg in die komponentenorientierte Webentwicklung
()
About this ebook
Read more from Christian Köberl
Achtung Steinschlag!: Asteroiden und Meteoriten: Tödliche Gefahr und Wiege des Lebens Rating: 0 out of 5 stars0 ratings
Related to Apache Tapestry
Titles in the series (100)
Geolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Erfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsErfolgreich bewerben in der IT - die besten Praxistipps von A wie (Anschreiben) bis Z (wie Zeugnis) Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Management Rating: 0 out of 5 stars0 ratingsM2M by Eclipse Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratings
Related ebooks
Webseiten-Layout mit CSS: Der perfekte Einstieg in Cascading Style Sheets Rating: 0 out of 5 stars0 ratingsJavaScript für Java-Entwickler Rating: 0 out of 5 stars0 ratingsHTML 5 meets GWT Rating: 0 out of 5 stars0 ratingsDurchstarten mit React: Web-Apps einfach und modular entwickeln Rating: 0 out of 5 stars0 ratingsMagento Entwicklung: Themes, Widgets und Eigene Entitäten Rating: 0 out of 5 stars0 ratingsVue.js kurz & gut Rating: 0 out of 5 stars0 ratingsWebentwicklung mit dem Play Framework Rating: 0 out of 5 stars0 ratingsJava EE 6: Enterprise-Anwendungsentwicklung leicht gemacht Rating: 0 out of 5 stars0 ratingsOpenLaszlo: schnell + kompakt Rating: 0 out of 5 stars0 ratingsJavaScript und TypeScript für C#-Entwickler Rating: 0 out of 5 stars0 ratingsSpring Boot und Spring Cloud Rating: 5 out of 5 stars5/5Bootstrap kurz & gut Rating: 0 out of 5 stars0 ratingsAngular 2: Moderne Frontends für alle Plattformen entwickeln Rating: 0 out of 5 stars0 ratingsBarrierefreiheit - Handwerkszeug und technisches Verständnis: Handwerkszeug und technisches Verständnis Rating: 0 out of 5 stars0 ratingsModerne Webanwendungen mit AngularJS Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsDSL mit Xtext/Xtend. Luecken(x)text Rating: 0 out of 5 stars0 ratingsApache Tamaya: Einstieg in die Konfiguration in Java Rating: 0 out of 5 stars0 ratingsJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Rating: 0 out of 5 stars0 ratingsStructr: Quelloffenes Daten-CMS auf Neo4j-Basis Rating: 0 out of 5 stars0 ratingsTestgetriebene Entwicklung mit JavaScript: Das Handbuch für den professionellen Programmierer Rating: 0 out of 5 stars0 ratingsModerne Datenzugriffslösungen mit Entity Framework 6 Rating: 0 out of 5 stars0 ratingsJavaScript kurz & gut Rating: 3 out of 5 stars3/5WordPress-Tricks und -Tweaks: Bohren Sie WordPress mit selbst programmierten Funktionen auf! Rating: 0 out of 5 stars0 ratingsWicket: Komponentenbasiert und objektorientiert - das alternative Java-Webframework Rating: 0 out of 5 stars0 ratingsjQuery Mobile: Einfach mobile Web-Apps entwickeln Rating: 0 out of 5 stars0 ratingsMicrosoft AJAX: AJAX Libary, ASP .NET 2.0 Extensions, AJAX Control Toolkit Rating: 0 out of 5 stars0 ratingsSoftware entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratingsVaadin mit Eclipse, Clojure und OSGi Rating: 0 out of 5 stars0 ratings
Internet & Web For You
Einführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsUX-Missverständnisse: Was sich User wirklich wünschen Rating: 0 out of 5 stars0 ratingsWas kommt. Was geht. Was bleibt.: Kluge Texte über die wichtigsten Fragen unserer Zeit Rating: 0 out of 5 stars0 ratingsSEO mit Google Search Console: Webseiten mit kostenlosen Tools optimieren Rating: 0 out of 5 stars0 ratingsJoomla 4.0 logisch!: Einfache Webseitenerstellung ohne Programmierkenntnisse Rating: 0 out of 5 stars0 ratingsGoogle Platz 1: Lernen Sie von einem der führenden Suchmaschinenoptimierer Deutschlands Rating: 0 out of 5 stars0 ratingsDas kleine Hypnose Einmaleins - Alles was Sie schon immer über die Hypnose wissen wollten von Ewald Pipper vom Hypnoseinstitut Rating: 0 out of 5 stars0 ratingsReact lernen und verstehen Rating: 0 out of 5 stars0 ratingsUX Design - Definition und Grundlagen: Definition und Grundlagen Rating: 4 out of 5 stars4/5Das Prezi-Buch für spannende Präsentationen Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsPHP 7 und MySQL: Ihr praktischer Einstieg in die Programmierung dynamischer Websites Rating: 0 out of 5 stars0 ratingsSEO Crashkurs - 10 Schritte zum Erfolg auf Google Rating: 0 out of 5 stars0 ratingsDer Content Faktor: Schreiben Sie Texte, die gefunden und gelesen werden Rating: 0 out of 5 stars0 ratingsSECURITY AWARENESS: Leitfaden zur IT-Sicherheit für Anwender Rating: 0 out of 5 stars0 ratingsSchnelleinstieg WordPress SEO: Einstellungen, Keywords, Plug-ins und Strategien für optimales SEO Rating: 0 out of 5 stars0 ratingsPHP für WordPress: Themes und Templates selbst entwickeln Rating: 0 out of 5 stars0 ratingsSo findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Rating: 0 out of 5 stars0 ratingsChatGPT Plus: Durchstarten in eine neue Welt: Entdecken Sie Künstliche Intelligenz mit ChatGPT Plus und GPT-4 Rating: 0 out of 5 stars0 ratingsDas Facebook-Marketing-Buch Rating: 4 out of 5 stars4/5MQTT im IoT: Einstieg in die M2M-Kommunikation Rating: 0 out of 5 stars0 ratings30 Minuten Metaverse Rating: 0 out of 5 stars0 ratingsPR im Social Web: Das Handbuch für Kommunikationsprofis Rating: 0 out of 5 stars0 ratingsAndroid Security: Von Fake-Apps, Trojanern und Spy Phones Rating: 0 out of 5 stars0 ratingsSeo Guru: Suchmaschinenoptimierung für Anfänger, Fortgeschrittene und Profis Rating: 0 out of 5 stars0 ratingsShopware 6 Handbuch Rating: 0 out of 5 stars0 ratingsEinfach Verschlüsseln Rating: 0 out of 5 stars0 ratingsDas Buch zu Google Ads: Strategien für kleine und mittlere Unternehmen Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratings
Reviews for Apache Tapestry
0 ratings0 reviews
Book preview
Apache Tapestry - Christian Köberl
Christian Köberl
Apache Tapestry
Einstieg in die komponentenbasierte Webentwicklung
ISBN: 978-3-86802-438-8
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Skalierbare komponentenorientierte Webapplikationen effizient entwickeln
Für die Entwicklung komponentenorientierter Webapplikationen gibt es eine kleine Auswahl an Frameworks. Aber ob man sich mit dem Standard-JSF quält oder auch einen anderen Weg wie Vaadin einschlägt – immer muss man Kompromisse eingehen. Einige Frameworks eignen sich gut für Applikationen, die als Rich Client entwickelt wurden, andere eher für klassische Webseiten. Tapestry versucht hier die Brücke zu schlagen und für beide Arten von Webapplikationen die beste Unterstützung zu bieten.
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 noch nie etwas darüber gelesen. Dabei konnte man es doch nicht belassen – oder? Das Ergebnis: dieser shortcut soll dabei helfen Tapestry etwas bekannter zu machen.
Ein wenig Tapestry-Geschichte
Im 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:
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 Mobile-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 Style Sheets 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 – wie der Name schon sagt – einen Baum analog zum Windows Explorer dar. Bisher hatte Tapestry keine Komponenten zur Darstellung von Baumstrukturen. Man musste auf Komponentenbibliotheken oder eigene Implementierungen zurückgreifen.
Los geht’s
Am einfachsten lässt sich Tapestry anhand eines Beispiels erklären. Dafür kann man den Maven-Archetype von Tapestry verwenden. Mit dessen Hilfe lässt sich ganz unkompliziert ein Grundgerüst für eine Applikation mit einigen Seiten und Komponenten erstellen. Voraussetzungen dafür sind eine Maven-Installation [4] (2.2.x oder 3.0.x) und ein Internetzugang. Für die Erstellung gibt man folgendes Kommando ein