C’est clair que pour des projets relativement petits, la contrainte sur les types se ressent. Mais quand la taille du projet grandi, quand il y a plusieurs développeurs, plusieurs librairies, on est bien contents d’avoir du support de la part de notre IDE (comme Eclipse) par des tâches comme le refactoring, de trouver d’où une méthode est appelée, etc.
STJS est un projet open source construit comme un plugin Maven qui s’exécute après la compilation du code Java de votre projet. Nous n’avons pas choisi Java par hasard – nos applications coté server sont écrites également en Java, donc le partage des classes de transport de données peut se faire facilement ce qui élimine une partie des erreurs dues à l’incompatibilité entre ces deux couches (à noter qu’aucune libraire Java n’est nécessaire coté server pour faire tourner les applications compilées avec STJS).
Le projet bénéficie de l’intégration Maven-Eclipse en s’exécutant à chaque sauvegarde d’un fichier pour générer le code Javascript correspondant. Donc pas besoin de recompiler pour voir les résultats des modifications, il suffit de recharger la page !
Comme le nom du projet l’indique, le projet n’essaye pas de changer complètement la façon d’écrire un programme Javascript. Le code généré est très similaire au code Java de départ. Le code diffère seulement là où la syntaxe du langage Java ne permet pas d’avoir une construction similaire au Javascript (par exemple la construction d’un objet/map avec les accolades : var obj = {‘field’ :1} )
Voici un petit exemple :
En Java
Code : | Sélectionner tout |
1 2 3 4 5 6 | form.find(".ok").click(new EventHandler() { public boolean onEvent(Event evt, Element THIS) { $(that.row(stockData)).appendTo("table tbody"); return true; } }); |
Code : | Sélectionner tout |
1 2 3 4 | form.find(".ok").click(function(evt) { $(that.row(stockData)).appendTo("table tbody"); return true; }); |
Notre librairie ne propose (impose) aucun composant graphique. Comme on voit dans l’exemple, nous utilisons JQuery, pour lequel nous avons construit une librairie bridge (qui permet d’accéder en Java, d’une manière type-safe aux fonctionnalités de JQuery et de JQuery UI). Mais l’utilisation d’autres librairies Javascript basées ou pas sur JQuery n’est pas limitée, pourvu que le bridge Java soit disponible.
Si STJS vous intéresse, visitez le site web du projet et essayez-le.
N’hésitez pas nous envoyer vos questions et commentaires.