Apache Tapestry

Page d’aide sur l’homonymie

Pour les articles homonymes, voir Tapestry.

Apache Tapestry
Description de l'image Tapestry.png.

Informations
Développé par Apache Software Foundation
Première version [1] et [2]Voir et modifier les données sur Wikidata
Dernière version 5.8.4 ()[3]Voir et modifier les données sur Wikidata
Dépôt git-wip-us.apache.org/repos/asf/tapestry-5.gitVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Environnement Multi-plateforme
Formats lus Apache Tapestry Markup Language document (d)Voir et modifier les données sur Wikidata
Formats écrits Apache Tapestry Markup Language document (d)Voir et modifier les données sur Wikidata
Langues Anglais
Type Framework webVoir et modifier les données sur Wikidata
Licence Apache License 2.0
Site web http://tapestry.apache.org

modifier - modifier le code - voir Wikidata (aide) Consultez la documentation du modèle

Tapestry est un framework libre qui facilite la création d'applications web Java basées sur Java EE (anciennement J2E) à partir de composants.

Historique

Initialement créé par Howard Lewis Ship, le projet Tapestry a été intégré par la fondation Apache comme sous-projet Jakarta puis il a évolué pour devenir un projet Apache à part entière. Tapestry dispose d'une architecture à base de composants avec des idées que l'on retrouve notamment dans le framework d'Apple WebObjects.

Caractéristiques

Tapestry utilise XML/HTML pour le rendu des pages et implémente la logique en Java en suivant le motif de conception MVC: Template Tapestry, Pages/Composants Java, Services Java. Il met l'accent sur la simplicité d'utilisation. Par une forte connectivité entre les éléments de la page Web (Template) et le code sous-jacent (Pages/Composants Java), il évite au développeur d'écrire d'énormes blocs de code de liaison, en utilisant le paradigme convention plutôt que configuration.

Une application Tapestry s'appuie sur des Pages qui sont configurées par des Composants. Une Page comprend deux parties: Un XML (.tml) et une classe Java (.java). Le XML permet l'insertion de Tag HTML des composants Tapestry natifs ou d'autres bibliothèques tiers. Par exemple, un simple lien d'une page à une autre correspond au composant PageLink.

Un exemple simple d'une page Tapestry

Cet exemple montre la partie internationalisation des pages de Tapestry avec la variable mentionné dans ${message:title} qui sera reprise à partir des fichiers .properties associé en fonction de la langue positionné dans votre navigateur et un lien vers la page par défaut du site (index).

Le pseudo-HTML de la page du site (vue): Exemple.tml

<t:layout title="${message:title}"
      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"
      xmlns:p="tapestry:parameter">

    <p>${message:text}</p>

    <t:pagelink page="index">${message:index}</t:pagelink>
</t:layout>

La classe Java qui implémente le comportement de la page (contrôle):

package org.exemples.pages;

public class Exemple{

}

Données du fichier fr.properties en français :

title: Exemple
text: Ceci est juste un test
index: Début

Données du fichier en.properties en anglais :

title: my little example
text: This is only a test
index: Mainpage

Fonctionnalités

  • Routage des requêtes HTTP (ou dispatching)
  • Les patrons de pages (ou templates), essentiellement en XHTML.
  • Validation des saisies dans les formulaires web
  • Persistance des données dans les sessions des utilisateurs ou autres enregistrements

Applications utilisant Tapestry

  • Exemples d'applications

Bibliothèque des composants Tapestry

  • Composants de base
  • Modules de la communauté Tapestry
  • Tapestry5 Wiki Modules
  • Tapestry Component World
  • Tapestry5-jQuery : permet une pré-migration vers le futur Tapestry 5.4 avec du Javascript JQuery sans PrototypeJS.

Annexes

Articles connexes

Liens externes

  • (en) Site officiel d'Apache Tapestry
  • (en) Apache Tapestry par les exemples
  • (en) Forum/Archive de la liste de diffusion
  • (en) Liste de tutoriels pour Tapestry
  • (en) Blog du créateur de Tapestry
  • (en) Tynamo model-driven, authentication modules, full-stack web framework based on Apache Tapestry 5, security modules
  • (en) « Kawwa: W3C/WAI accessible components »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?)
  • (en) CRSF protection for Tapestry
  • (fr) Premier projet avec Tapestry5, Spring et Hibernate
  • (en) Une comparaison de framework web
  • (en) Détail des nouveaux changement de la future version 5.4 (Utilisable)
  • (en) Tapestry Inversion of Control Container
v · m
Python
PHP
Ruby
Perl
Smalltalk Seaside
JavaScript
Côté serveur
Côté client
CSS
Java
.NET
v · m
Projets principaux ASF logo
Incubateur Apache
en cours d'incubation
incubation finie
Autres projets
Projets en fin de vie
Personnalités
Divers
  • icône décorative Portail des logiciels libres
  • icône décorative Portail de l’informatique
  1. « https://books.google.at/books?id=sOVB8BFWbNAC&pg=PA1&lpg=PA1&dq=apache+tapestry+2000+webobjects&source=bl&ots=365LFI52VE&sig=ACfU3U0OlzVzGCezJvKb5s04kwmUkh-Wnw&hl=de&sa=X&ved=2ahUKEwi_1Pyl2MznAhUzpHEKHc4NDGoQ6AEwAnoECAkQAQ#v=onepage&q=apache%20tapestry%202000%20webobjects&f=false »
  2. « https://projects.apache.org/json/projects/tapestry.json » (consulté le )
  3. « Download »