Réaliser une interface riche n’est pas chose facile : non seulement il faut la coder, mais en plus il faut se casser la tête pour choisir la bonne technologie (État de l’art des interfaces riches). Pour résumer une longue explication, il n’y a pas de bon ou mauvais choix technologique, tout dépend du contexte et des ressources disponibles. Aujourd’hui, je vais vous parler de Sencha, un éditeur d’outils de développement pour créer des interfaces web ou mobiles en HTML5, et plus particulièrement de GXT qui vient de sortir en version 3 : What’s New in Sencha GXT 3.
Pour vous la faire courte, GXT est une librairie pour créer des applications en ligne en Java. Ça vous fait penser à GWT ? C’est normal, car GXT se veut être une sur-couche qui exploite le même environnement de développement et les mêmes outils (Développez vos applications Web avec GXT). Concrètement, vous codez en Java et vous compilez votre application en HTML, CSS et javascript (GXT s’appuie sur la librairie Ext JS). L’intérêt de cette librairie est de gagner du temps tout en bénéficiant d’un environnement de développement rigoureux.
Dans la pratique, cette librairie vous propose un ensemble de composants d’interface pour accélérer le développement d’applications en ligne. Nous parlons ici d’applications d’entreprise, n’espérez donc pas y trouver des choses très funky, mais plutôt des choses utiles dans un contexte BtoB. L’éditeur fournit une liste d’exemples de ce que l’on peut faire. J’ai particulièrement apprécié (entre autres) :
- Les boutons personnalisables ;
- Les graphiques (en barres, colonnes, gauge, camembert ou surface) ;
- Les menus déroulants enrichis ;
- Les formulaires ;
- Les tableaux avec options de tri avancées ;
- Les menus en cascade ;
- Les listes avec menu contextuel ;
- Et même le dessin vectoriel (ici un logo).
Tout ceci est donc fort sympathique. Je ne me prononcerais pas sur l’épineux sujet des performances ou de la stabilité, je me contente d’apprécier les éléments d’interface du point de vue de l’utilisateur final.
Le seul concurrent direct de GXT semble être SmartGWT (merci à Tomiche pour la précision), sinon la concurrence la plus proche vient de GWT lui-même. On retrouve par contre des librairies javascript qui se rapprochent de cette philosophie comme le projet français qooxdoo ou des librairies plus répandues comme Dojo ou jQuery UI.
Ce que je trouve particulièrement intéressant dans cette approche est de pouvoir coder la logique métier de façon rigoureuse et de s’appuyer sur une librairie “standardisée” pour l’affichage. D’autant plus qu’il est possible de concevoir une application à la souris (avec Sencha Architect) et de la déployer sur le web et le mobile (avec une autre librairie comme Sencha Touch). Idéalement, il faudrait pouvoir combiner ça avec un atelier de BPM en amont (Business Process Management) pour avoir une approche encore plus rigoureuse…
Bonjour,
j’aurais voulu revenir sur un point :
“Il n’y a pas réellement de concurrents directs à GXT, si ce n’est GWT” :
je pense que ce n’est pas tout à fait vrai, il existe par exemple smartGWT qui propose plus ou moins les mêmes fonctionnalités, il n’y a qu’à regarder les showcases des 2 pour le vérifier.
Je tiens à préciser que je ne suis pas ici pour faire la promotion de l’un ou l’autre, je suis actuellement en train de chercher lequel des 2 je vais choisir.
J’ai vu que tu parlais de Sencha Architect, as-tu eu l’occasion de l’utiliser?
Si oui, sais-tu si les interfaces créées peuvent être utilisées avec GXT, ou bien si elles ne sont compatibles qu’avec ExtJS et Touch?
J’ai quelques soucis de droits sur ma machine donc je ne peux pas encore l’installer, et vu que GXT utilise EXT JS, j’espère que les interfaces seront réutilisables.
Donc si quelqu’un a la réponse je suis preneur.
Bonne continuation.
@ Tomiche > Bravo pour cette trouvaille, les deux sont effectivement très proche. Je complète l’article. Non, je n’ai pas eu l’opportunité de tester Sencha Architect, peut-être qu’un message au support (email ou Twitter) t’apportera des réponses précises.
@Fred Cavazza > Tant pis pour Sencha Architect, quand je l’aurais testé je ferais un petit retour dessus.
Lors de mes recherches, je suis aussi tombé sur Vaadin, un Framework Java qui a, à peu près, les mêmes possibilités graphiques que smartGWT et GXT.
Il semblerait qu’il s’appuie aussi sur GWT.
Petits plus de Vaadin :
– Plugin pour Eclipse (avec un éditeur visuel) et netBeans
– Plus de 170 add-ons
– Vaadin Touch Kit : compatible avec Android et iOs
-Book of Vaadin : Tour complet des possibilités du framework
Petits moins :
– Tout évènement engendre un appel serveur
– Baisse de performance lorsque le nombre d’utilisateurs augmente (je n’ai pas eu l’occasion de vérifier, mais c’est ce qui ressort sur le web)
A bientôt pour des nouvelles sur Sencha Architect !
Excellent article, la seule chose qui me fait rester méfiant vis à vis de GWT c’est justement Google … par le passé, plusieurs projets ont été abandonnés du jour au lendemain.
Et je ne peux m’empêcher d’y voir des ressemblances avec Flex et Adobe ….
@Tomiche
Le gros problème de Smart GWT, c’est que ce n’est qu’une API Javascript portée pour être codable en GWT. Au menu donc, des appels natifs à du code Javascript, ce qui pose problème lorsque l’on veut debuger sérieusement son application.
Bonjour,
Petite précision, qooxdoo est un projet allemand et non français soutenu par 1&1.
a+