Je rebondis sur ce billet.
Le constat est juste, le Web a évolué, il rejoint la maturité des applications de gestion. Il se structure et le temps de l'artisanat est terminé en ce qui concerne le code des applications professionnelles (je n'en dirais pas autant en ce qui concerne l'analyse, l'ergonomie et le design).
Pour le reste, j'ai une autre manière de voir les choses : il est possible (pas toujours souhaitable mais parfaitement possible) de produire du code from scratch qui ait toutes les qualités citées ( maintenabilité, modularité (pas de refonte systématique à la moindre évolution), sécurité, performances ) sans que ce soit plus difficile qu'avec un Framework, dès lors qu'on a intégré des méthodes.
Des gens meilleurs que nous se sont penchés sur des problématiques récurrentes et le résultat de leur travail prend avant toute chose la forme de méthodes, principes et standards. Ce qui permet de ne pas réinventier la roue, c'est avant tout cela. Il peut d'agir des méthodes d'analyse (RAD, XP, V, etc.), des méthodes et formalismes de modélisation fonctionnelle objet (UML, MVC, PAC, etc.), des principes de sécurité, de la modélisation du stockage et le la recherche des données (l'algèbre relationnelle, SQL, etc.), des standards d'échange et de présentation (XML, HTML, etc.) et tellement d'autres choses.
Certes l'utilisation d'un framework accompagne le développeur (qui plus est une équipe) dans l'écriture d'un code qui possède les qualités requises. Ce n'est pas le framework qui le permet mais les méthodes sur lesquelles il est basé et ces dernières peuvent être appliquées pour du code from scratch. Le framework les rassemble et les met en oeuvre mais il n'est pas incontournable.
Il faut peser le pour et le contre en fonction du besoin pour décider de l'utilisation d'un framework, d'une simple bibliothèque ou de rien du tout. Tout cela dépend du niveau de flexibilité nécessaire, du nombre et des compétences des ressources disponibles, de la nature du fonctionnel, de la problématique. etc. La solution adaptée peut être intermédiaire : j'ai mon propre système de template et de modélisation PAC mais j'utilise une bibliothèque pour l'Ajax et l'encapsulation des données.
En conclusion, sans remettre en cause l'intérêt des frameworks (j'en utilise moi-même), il me semble plus pertinent d'aborder le sujet de la qualité des développements par le biais des méthodes que par celui des framework. Il reste que l'apprentissage d'un framework est un bon point d'entrée pour comprendre certaines méthodes (certaines seulement).