Apache-tapet | |
---|---|
Type | webramme |
Udvikler | Apache Software Foundation |
Skrevet i | Java |
Operativ system | Cross-platform software |
Første udgave | 2000 [1] og 11. februar 2013 [2] |
nyeste version | 5.8.1 (25. januar 2021 ) |
Læsbare filformater | Apache Tapestry Markup Language dokument [d] |
Genererede filformater | Apache Tapestry Markup Language dokument [d] |
Stat | Aktiv |
Licens | Apache-licens 2.0 |
Internet side | tapestry.apache.org |
Mediefiler på Wikimedia Commons |
Tapestry (fra engelsk - "tapestry, woven fabric") er en objektorienteret Java - ramme til at skabe webapplikationer, der implementerer MVC -modellen . Tapestry blev skabt af Howard Lewis Ship og fortsætter med at blive aktivt udviklet. Rammen er et projekt på topniveau i Apache Software Foundation . Hovedvægten i Tapestry er på udviklerproduktivitet, brugervenlighed, umuligheden for programmører at skabe store stykker " limkode ". Tapestry tager en modulær tilgang til webudvikling ved at bruge bindinger mellem UI-komponenter (objekter) på en webside og deres tilsvarende java - klasser. Denne komponentorienterede arkitektur hentede mange ideer fra WebObjects3
Den aktuelle stabile udgivelse af Tapestry er version 5.3.8. Version 4 og tidligere er ret ens, mens version 5 indeholder væsentlige ændringer.
Tapestry 4 opdeler webapplikationer i sider og komponenter. Sider beskriver komponentniveauet, mens komponenter definerer funktionalitet. Denne tilgang opdeler en komplet webapplikation i let håndterbare kodestykker, der styrer brugerinteraktion , tilstand Komponenter er også opdelt i grundlæggende ( kerne ) og yderligere ( supplerende ). Basiskomponenter er de grundlæggende byggeklodser i en applikation, såsom formularvalidatorer, grænsefladebyggere eller tilstandsobjekter. Yderligere komponenter definerer, hvordan en gruppe af basiskomponenter kan interagere med andre basiskomponenter i gruppen.
Komponentskabeloner i Tapestry er XHTML- filer. Typisk er kortlægningen mellem java-klasser og de XHTML-objekter, de administrerer, beskrevet i en XML -fil. Interaktionen mellem backend 'th (java-klasse) og frontend 'th (XHTML-objekt) udføres ved hjælp af OGNL . Sidemarkering udføres anderledes end PHP , ASP og JSP , som bruger specielle tags til at adskille skabelon- og kodevariabler.
Udviklingen af den femte version af Tapestry begyndte kort efter udgivelsen af version 4. Udviklerne indså, at den originale arkitektur, baseret på nedarvning fra basisklasser, gjorde det vanskeligt at forbedre og udvikle rammerne og samtidig bevare bagudkompatibiliteten i hver udgivelse. Derudover tillod det ikke at løse et stort antal problemer, der plagede udviklere, der brugte denne ramme. Den nye tilgang (og nye kodebase ) var baseret på POJO'er , annoteringer og navnekonventioner. Annoteringer og navnekonventioner har stort set erstattet XML- deskriptorfilerne fra tidligere versioner. Den eneste XML -fil , der kræves af projektet, er web.xml. Derudover er behovet for at omkompilere, arkivere, implementere og genstarte servlets med hver ændring i koden blevet elimineret. Denne funktion kaldes " live class reloading " . Alle disse funktioner gør Tapestry 5 til en ekstremt fleksibel webapplikationsudviklingsplatform.
Version 5 kombinerer Prototype- og script.aculo.us- rammerne med Tapestry-specifikke biblioteker for at understøtte Ajax -teknologi . Siden version 5.4 bruger Tapestry det mere moderne jQuery- bibliotek .
Tapestry 5.1 har forbedret ydeevne og reduceret hukommelsesforbrug samt yderligere funktioner til at forbedre ydeevnen, såsom automatisk trafikkomprimering ved hjælp af GZIP og JavaScript - biblioteksaggregering . På trods af et stort antal innovationer og forbedringer er Tapestry 5.1 fuldt bagudkompatibel med Tapestry 5.
Tapestry 5.2 integrerer JSR 303-specifikationen (datavalidering) med dens interne valideringsmekanismer. Genindlæsning af live klasse er blevet forbedret til også at understøtte genindlæsning af serviceimplementeringer (med service mener vi grænsefladen og implementeringsklassen).
Tapestry 5.3 forbedrer ydeevnen, reducerer hukommelsesforbruget, tilføjer nye komponenter. Den interne mekanisme til at arbejde med bytekode er blevet redesignet, fuld understøttelse af HTML5 .
Tapestry 5.4 er under aktiv udvikling og er kun tilgængelig som kildekode . Udgivelsen medfører store ændringer i arbejdet med JavaScript. Tapestry 5.4 inkluderer RequireJS, en asynkron JavaScript-indlæser, som alt arbejde med JS-filer (moduler og biblioteker) er baseret på. Den nye udgivelse understøtter også automatisk kompilering af MINDRE filer. Opdateret brugergrænseflade - Tapestry bruger Twitter Bootstrap UI-rammeværket.
Tapestry 5 integreres som standard med
Apache Software Foundation | |||||||
---|---|---|---|---|---|---|---|
Projekter på topniveau |
| ||||||
Delprojekter |
| ||||||
Apache Web |
| ||||||
Andre projekter | |||||||
Udvikling af projekter ( inkubator ) |
| ||||||
Nedlagte projekter ( loftsrum ) | |||||||
|