|
Google Web Toolkit
De $1
Introduction
GWT est un tookit développé par Google permettant de développer des interfaces riches sur le web. Gmail, Google Maps et la plupart des services proposés par Google utilisent GWT.
Originalité : on code en Java, plus de javascript, de XML, etc... On peut tester son application en stand alone mode avant de la recompiler pour un véritable test en déploiement sous forme d'application web, etc.
Outils de développement
Il existe un plugin, GWT4nb pour Netbeans, alors qu'Eclipse est supporté en natif par la librairie. Mais sachez qu'il existe des plugins commerciaux très efficaces pour construire en WYSIWYG des interfaces graphiques, GWT Designer pour Eclipse par exemple. L'IDE payant IntelliJ Idea est également un très bon produit pour de tels développements, grace au plugin GWT Studio entre autres.
En TP nous utiliserons NetBeans ou Eclipse.
Resources
Quelques démonstrations de sites commerciaux utilisant GWT :
Travaux pratiques
Installation et configuration
Vous allez commencer par créer un petit projet GWT et apprendre à le lancer en mode normal, puis en mode stand alone (100% java, avec émulatiion en swing des interfaces clientes)
Premières applications
La structure d'un projet GWT est telle qu'on ne procède pas de la même manière lorsqu'on développe avec Netbeans ou avec Eclipse, vous l'avez vu. Pour netbeans on a un plugin capable de générer un projet type (et d'autres choses), pour Eclipse on part d'un projet type créé par la ligne de commande. Je propose donc deux branches pour la suite du TP (mais je vous conseille de faire les deux, à l'occasion).
Application à étudier : un annuaire en Ajax (non ? Si !)
Pour les utilisateurs de netbeans, récupérez le projet, puis après avoir mis à jour les références (serveur, choisissez tomcat 6, allez dans les propriétés du projet et indiquez le bon chemin pour le framework GWT puis pour les librairies).
Travail à rendre
Ce sera votre mini projet. Les notes des trois Tps à rendre formeront la note de projet de ce module.
Sujet : un gestionnaire de playlist à la itunes.
- Vous ecrirez un service GWT capable de servir des infos relatives à des albums de musique: Artiste, Album, Style/catégorie, Titres et Pochettes d’album. Vous pourrez rajouter d'autres informations si cela vous tente (en extrayant par ex ces infos à partir de fichiers mp3 existants, il existe dans de nombreux langages des extracteurs de tags). On ne demande pas à ce que cette source de données soit modifiable via le web. Vous pourrez la générer sur le serveur avec des outils de votre choix.
- Note importante : vous n'êtes pas obligés d'utiliser une base de données, JPA, DAO etc... Le but de ce projet n'est pas de tester ce genre d'architecture mais plutot de se faire la main avec GWT. En revanche, si cela vous tente, sachez qu'il faut absolument que le compilateur GWT possède les sources des classes JPA pour pouvoir envoyer des instances d'entity classes dans le client javascript. Ceux qui ne se sentent pas à l'aise avec ces technologies, utilisez une base de données JSON ou XML.
- Allez voir ce TP qui utilise des classes entities avec GWT si vous voulez tenter le coup : http://argentera.inria.fr/wiki/data/Main/EjbGwt2.jsp
- Vous ecrirez un service GWT capable de gérer des playlistes (cf le tableau ci-dessous) côté serveur,
- Vous ecrirez en GWT la partie cliente qui permettra de réaliser la gestion des playlist de la manière suivante.
Priorité | Nom | 10 | En tant qu’utilisateur, je peux visualiser la liste des catégories | 20 | En tant qu’utilisateur, je peux visualiser la liste des artistes | 30 | En tant qu’utilisateur, je peux consulter la liste des albums d’une catégorie | 40 | En tant qu’utilisateur, je peux consulter la liste des albums d’un artiste | 45 | En tant qu’utilisateur, je peux consulter la liste des pistes d’un album | 50 | En tant qu’utilisateur, je peux rechercher un album | 60 | En tant qu’utilisateur, je peux consulter la liste des playlists enregistrées | 70 | En tant qu’utilisateur, je peux charger une playlist existante | 80 | En tant qu’utilisateur, je peux créer et enregistrer une nouvelle playlist | 90 | En tant qu’utilisateur, je peux ajouter des pistes à une playlist | 95 | En tant qu’utilisateur, je peux réordonner les pistes d’une playlist | 97 | En tant qu’utilisateur, je peux enlever des pistes à une playlist | 100 | En tant qu’utilisateur, je peux sauvegarder une playlist | 110 | En tant qu’utilisateur, je peux supprimer une playlist |
|