Vaadin c’est quoi ? C’est un framework Java OpenSource (Licence Apache) qui encapsule un autre framework plus connu qui est GWT (Google Web Toolkit) avec l’ambition de faciliter et d’accélerer le développement tout en améliorant l’experience utilisateur.

vaadin java gwt framework de développement d'applications

Vaadin & GWT 

Vaadin s’appuie sur GWT pour en tirer toute la puissance tout en masquant une importante partie de l’implémentation que l’on fait habituellement en GWT : échanges entre la partie client et la partie serveur. En Vaadin on code seulement la partie serveur en déclarant des composants graphiques qui se retrouve “magiquement” dans l’interface client.  Plus besoin de se soucier des échanges client-serveur (appels RPC) ni de la sérialisation / désérialisation d’objets (par exemple avec des DTO et l’utilisation de Dozer).

Vaadin embarque sa propre version de GWT : la société derrière Vaadin fait partie du steering committee GWT et participe à son évolution. Ainsi il arrive que des bugs soient corrigés dans leur distribution avant la distribution officielle Google. A souligner pour les développeurs GWT que nous sommes : il est possible d’utiliser du GWT “classique” dans une application Vaadin (Using Vaadin in an existing GWT project - Wiki - vaadin.com).  A l’inverse, l’utilisation du Vaadin dans du GWT est très limitée.

Maintenant que les présentations sont faites, passons aux avantages qui vont particulièrement plaire aux développeurs GWT…

Moins de code source = Productivité + Facilité de maintenance 

Comme on vient de le dire, avec Vaadin, on code moins: seulement la partie serveur dans laquelle on intègre les composants UI. Par exemple si on considère une grille de données on peut faire directement du paging (pagination) ou même du “live” grid (chargement à la volée) sans coder les échanges client-serveur avec les offsets, la gestion du cache…

Composants graphiques natifs évolués

Par défaut le framework propose des composants mieux pensés, plus complets que les composants GWT natifs. On a parlé de la grille mais les exemples sont nombreux : une tree-table, un calendrier complet, un date picker évolué, des list builders, un color picker….

On trouvera aussi de magnifiques Charts dans les addons payants.

http://demo.vaadin.com/charts/#DonutChart

Layouts et Skinning

Vaadin propose un ensemble de composants de layouts évolués qui permettent de placer les composants d’UI efficacement et directement en JAVA : layouts verticaux, horizontaux, layout grille…

Un CSS layout permet de d’utiliser toute la puissance du CSS pour le placement des composants.

Pour le rendu graphique Vaadin s’appuye sur le language SAAS (Syntactically Awesome Style Sheet) qui permet d’étendre les capacités de CSS et propose un système de thèmes qui facilite le skinning des composants et des applications.

Et ça marche ! 

Et c’est même bluffant.. Développeurs GWT de la première heure, nous cherchons toujours à améliorer la productivité de développement et à améliorer l’expérience utilisateur de nos applications. Nous avons adopté Vaadin pour développer des applications métiers spécifiques et le résultat est là : plus rapide à développer (moins de code), plus facile à skinner, une ergonomie native plus développée… Nos clients et surtout nos utilisateurs les plus exigeants nous confortent dans ce choix.

N'hésitez pas à réagir et nous faire part de vos expériences ou nous contacter pour étudier ensemble l’opportunité d’intégrer cette technologie dans vos projets.