Je suis passé par les deux phases. Venant du monde des applications de bureau (fat clients).
J'ai été un fervent défenseur de l'approche composant, avec 0 JS écrit à la main. Depuis que c'est plus forcément considéré comme un crime de ne plus supporter IE8, faire du javascript n'est plus aussi frustrant que ça l'était il y a encore 5-6 ans, j'ai mis de l'eau dans mon vin. Les frameworks JS font généralement un assez bon travail à niveler les petites différences qui restent. Le langage reste un peu dégueulasse pour les gens qui sont habitués à du typage statique et de la compilation mais avec des outils comme typescript, ça va tout seul. Je trouve que de nos jours, l'argument d'utiliser un framework orienté composant pour ne plus faire de javascript a perdu un peu de son éclat. Du coup je me suis remis sur les solutions plus "orienté requêtes" avec modèle traditionnel : URL => Controller => templating HTML / retour JSON.
En plus, on se rend finalement compte que le design c'est un métier, en cours de route j'ai accepté le fait que ce n'était pas le mien et que je serais toujours une grosse bille en CSS/HTML, c'est aussi plus simple pour moi de déléguer ou d'outsourcer du html recraché par Spring MVC, Play, ou Grails que d'aller faire un thème pour JSF, Vaadin ou GWT. La séparation est bienvenue. Puis j'ai l'impression de mieux contrôler ce qui se passe sur le serveur ou le client, même si ça implique plus de micromanagement. Wicket avait trouvé un compromis sympa pour résoudre ce problème de séparation entre le design et le backing code mais bon, il avait passablement de défauts aussi.
Je pense quand même que Java a plutôt bien tenu la route question pérennité, il y a eu des frameworks web par dizaines qui ont fait leur temps, c'est vrai. Je regretterai toujours qu'on ait voulu transformer les navigateurs en OS mais il y a eu un gros paquets de changement dans les façons de concevoir les applications webs. Il y a plus beaucoup d'UI web écrites y'a 10 ans, ou même 5 ans qui restent maintenues. Pour moi c'est donc logique qu'avec ces évolutions, certaines solutions d'il y a 6-7 ans en arrière, qui étaient pensées pour répondre aux problématiques précises de leur époque, soient devenues caduques.
Ce qui a fait le plus de mal à java au fond, c'est peut être pas la myriade de frameworks de qualité très variable, mais l'illusion du domain model tout objet, la surabstraction, les gâteaux à 7 couches et la surarchitecture en général. Je pense que la mentalité présente entre 2005-2010 dans le monde Java a donné les pires monstres architecturaux au détriment des solutions simples et que ça a énormément nuit à l'image de cette techno. Avis personnel qui n'engage que moi.
Partager