Vaadin est un Framework Java permettant de développer une application Web entièrement en Java. Il est certes basé sur GWT (Google Web Toolkit), mais l'utilise de manière relativement transparente. Vaadin est une société Finlandaise qui existe depuis 2007 (initialement sous le nom d'IT Mill Toolkit).
Ses principaux avantages sont :- une API très proche de Swing
- une librairie Open Source
- de très nombreux Addons gratuits
Ses inconvénients :
- la lourdeur de la librairie (18 Mo minimum) depuis la version 7, essentiellement à cause des thèmes.
- la "relative" complexité dans l'utilisation des Widgetsets et des CSS
- quelques Addons sont payants, tels que les Charts, le Calendar, le TouchKit (il faut bien vivre)
- l'éditeur graphique payant, mais comme avec Swing, on peut s'en passer
Installation dans Eclipse
Pour vous faire une idée de l'interface, vous pouvez regarder les démos : http://demo.vaadin.com/sampler/#. Cela vous donnera une assez bonne idée de ce que la librairie peut faire.
Vaadin propose un plugin Eclipse pour la création de nouveaux projets. Le plugin est disponible à l'adresse http://vaadin.com/eclipse. Celui ci permet de créer des projets, mais également des thèmes ou de nouveaux Widgets.
Pour la compilation des WidgetSets et des thèmes, un nouveau bouton est rajouté dans la barre de menu.
Le plugin permet également d'installer Vaadin Designer. Cette version nécessite une licence. La version sans licence permet juste d'évaluer l'outil rapidement mais ne permet pas de sauvegarder les modifications. Le Designer nécessite également l'utilisation d'Internet Explorer 10 au moins.
Création de la première application "Click Me"
Une fois le plugin installé, vous pouvez créer votre première application Vaadin. Un exemple est généré par défaut, permettant de tester assez rapidement le Framework.
Création du projet
Sélectionnez un projet Vaadin 7.
Entrez le nom du projet et sélectionnez le conteneur de servlet : Tomcat 7, par exemple.
Modifiez éventuellement les noms des classes si vous souhaitez utiliser ce projet comme modèle ultérieurement. Toutes les versions de Vaadin 7 sont proposées.
Si vous n'avez pas déjà de projet avec la version proposée, la nouvelle version sera automatiquement téléchargée.
Voici un exemple de l'arborescence ainsi générée.
Voici le code source généré par défaut
package com.example.testvaadin76;
import javax.servlet.annotation.WebServlet;
import com.vaadin.annotations.Theme;
import com.vaadin.annotations.VaadinServletConfiguration;
import com.vaadin.server.VaadinRequest;
import com.vaadin.server.VaadinServlet;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
@Theme("testvaadin76")
public class Testvaadin76UI extends UI {
@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = Testvaadin76UI.class)
public static class Servlet extends VaadinServlet {
}
@Override
protected void init(VaadinRequest request) {
final VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
setContent(layout);
Button button = new Button("Click Me");
button.addClickListener(new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
layout.addComponent(new Label("Thank you for clicking"));
}
});
layout.addComponent(button);
}
}
Exécution
Pour exécuter cette première application, cliquez avec le bouton droit et sélectionnez "Debug on the Server", puis sélectionnez Tomcat 7.L'application démarre et ouvre une fenêtre dans le navigateur interne d'Eclipse. Les traces s'affichent en dessous et vous pouvez mettre des points d'arrêts.
Une fois l'application testée, elle peut être exportée sous la forme d'un fichier War complet qui ainsi peut être déployé dans n'importe qu'elle conteneur de servlet.
Conclusion
Vaadin montre que l'on peut faire des applications Web entièrement en Java à la manière de Swing. Cela peut sembler simple au départ, mais peut vite se complexifier dès que l'on souhaite avoir des interfaces beaucoup plus évoluées. Fort heureusement, la communauté autour de Vaadin apporte son lot d'addons qui en simplifient largement l'utilisation : https://vaadin.com/directory#!browse. Le principal avantage pour un développeur Swing est qu'il n'est pas trop dépaysé (voir https://vaadin.com/swing) et que la phase de débogage reste à peu près similaire. Il existe des solutions un peu similaires, telles que http://www.webswing.org, mais Vaadin offre des possibilités qui vont bien plus loin que Swing pour le monde Web.Un des inconvénients est cependant que pour la moindre modification, il faut recompiler et relancer l'application, ce qui n'est pas toujours nécessaire avec des Frameworks basés sur du XHTML. Essayez par vous mêmes pour vous faire votre propre opinion. Personnellement, je trouve que ce Framework Open Source vaut largement le détour.
Long Life Vaadin
Commentaires
Enregistrer un commentaire