Apache Tapestry
|
|
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
|
| Apache Tapestry | |
Logo |
|
|
|
|
| Développeur | Apache Software Foundation |
|---|---|
| Version avancée | 5.3.6 |
| Environnement | Multi-plateforme |
| Langue | Anglais |
| Licence | Apache License 2.0 |
| Site web | http://tapestry.apache.org |
| modifier |
|
Tapestry est un framework libre qui facilite la création d'applications web Java basées sur J2EE à partir de composants.
Sommaire |
Historique [modifier]
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 [modifier]
Tapestry utilise XML pour implémenter des applications Web en suivant le motif de conception MVC. Il met l'accent sur la simplicité d'utilisation. Par une forte connectivité entre les éléments de la page Web et le code sous-jacent, 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 [modifier]
Ce 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 [modifier]
- Routage (Aiguillage) 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 [modifier]
- Exemples d'applications
- eOfficeo, application multi-services (coffre-fort numérique, gestionnaire de tâches, finances, etc.) collaborative
Bibliothèque des composants Tapestry [modifier]
- Tapestry5-jQuery : permet une pré-migration vers le future Tapestry 5.4 avec du Javascript JQuery sans PrototypeJS.
Voir aussi [modifier]
Liens externes [modifier]
- (en) Site officiel d'Apache Tapestry
- (en) Apache Tapestry par les examples
- (en) Liste de tutoriels pour Tapestry
- (en) Blog de Tapestry
- (en) Tynamo model-driven, full-stack web framework based on Apache Tapestry 5
- (en) Forum/Archive de la liste de diffusion
- (fr) Premier projet avec Tapestry5, Spring et Hibernate