mai
2008
Je vais vous présenter mon expérience dans le développement d’applications Web en Java à travers différentes technologies.
=> Servlets & JSP
C’est l’âge de mes débuts dans le développement d’applications web dans les années 2000.
A cette époque là, j’utilisai un éditeur de texte pour écrire le code Java et un batch pour la compilation et l’execution du programme. Expérience enrichissante pour la compréhension du classpath (Qu’est-ce que j’ai pu me battre avec lui au début).
Pour le développement des servlets, j’utilisai le Java Servlet Developpement Kit de Sun (que de souvenirs). Ensuite, je déployai sur le serveur d’application Weblogic de BEA (une des premières versions) puis sous le le serveur d’application Websphere d’IBM. Expérience enrichissante pour la migration d’un serveur à l’autre.
=> Struts 1
Puis est venu l’époque où mon travail a gagné en structure. Le passage dans une grande entreprise m’a permis d’utiliser Struts dans sa première version. Il faut bien le reconnaître, ce framework permettait de structurer les applications web comme jamais avant je ne l’avais vu (il faut préciser que j’avais encore peu d’expérience).
A la lumière de mes souvenirs, « l’échec des EJB » se comprend mieux. Dans les deux multinationales où j’ai pu travailler, Websphère et Weblogic étaient utilisés comme de « simple moteurs de servlets » tout simplement parce que question support, IBM et BEA étaient derrière …
=> WebObjects
Mon parcours professionnel m’a ensuite fait découvrir le framework WebObject. Cette technologie « made in apple » si elle me paraît un peu obsolète aujourd’hui (surtout que la version pour PC n’évolue plus) était probablement à la pointe à ses débuts. Elle prend en compte le développement de A à Z (de la persistence des données via l’EOModel (une sorte d’hibernate) au rendu par composants (une sorte de JSF)).
=> JSF
Pour le développement de nouvelles applications, j’ai été amené à étudier d’autres technologies libres et dans l’air du temps. Pour le peu que j’ai pu voir, pour moi qui suis habitué aux servlets avec leur requêtes/réponses, malgré tous les avantages de cette technologie, je trouve que ça fait trop « boite noire » et quand ça ne marche pas, c’est long à débugger … En passant, je trouve que les templates de facelets sont un plus par rapport au simples JSP de tags. L’intégration d’AJAX, c’est pas encore ça à mon goût : ne mélanger pas des tags de la JSTL avec des tags de RichFaces sinon vous allez comprendre votre douleur !
=> Spring MVC
Avec Spring MVC (framework par action), c’est du léger, je refais un peu du struts mais en mieux (les réglages par défaut évitent beaucoup de la verbosité de struts) tout en évitant l’aspect boite noire reproché à JSF. Bien entendu, cela manque de composants modernes mais EXT-JS, la fameuse librairie javascript compense bien.
=> GWT
Lui, c’est le petit dernier que j’ai essayé dès sa sortie il y a maintenant un peu plus d’un an. Avec lui, je suis passé par des hauts et des bas. Il m’a enthousiasmé par plusieurs de ces aspects et déçus par d’autres. Je l’ai d’abord abandonné, les premières versions étaient trop buggés. J’ai réessayé la 1.4, Jetty a été remplacé par Tomcat et ça marche beaucoup mieux. La dernière version non finalisée supporte enfin Java 1.5. J’y vois bien encore des faiblesses mais j’ai maintenant assez d’expérience pour les contrer mais ceci est un autre sujet.
Merci du conseil, je vais regardé ce Grails de plus près.
Au vue de ton avis sur Spring MVC, je te conseille de regarder du coté de Grails.
En gros, c’est base sur Spring MVC et Hibernate, mais ca permet de mettre en place un site beaucoup plus facilememt.
Il y a des bon petits plugin pour l’Ajax ( ext-js entre autre ).