IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les frameworks nous intéresseront-ils à l'avenir ? Non selon Paul Kinlan,
Responsable des relations avec les développeurs Chrome et Open Web chez Google

Le , par Bruno

13PARTAGES

3  0 
Paul Kinlan, responsable des relations avec les développeurs Chrome et Open Web chez Google, soulève la question de l'avenir des frameworks dans le développement logiciel. Selon lui, bien que les frameworks ne soient pas intrinsèquement problématiques, ils imposent des contraintes sur l'architecture du code, en offrant des abstractions pour organiser et simplifier le travail des développeurs. Toutefois, avec l'émergence d'outils comme Replit — une plateforme alimentée par l'IA permettant de créer et déployer rapidement des applications sans manipuler directement le code — Kinlan imagine un futur où des agents automatisés pourraient remplacer les frameworks traditionnels.

Il envisage ainsi un futur où les développeurs n'auraient plus à se soucier des répétitions de code ou de l'extensibilité, car ces outils automatisés prendraient en charge ces aspects de manière simple mais efficace. Une telle évolution pourrait rendre obsolètes les modèles architecturaux classiques, et Kinlan se demande si de nouveaux paradigmes émergeront pour gérer des systèmes basés sur des modèles de langage de grande taille (LLM).


Un framework est un ensemble de code pré-écrit que les développeurs utilisent pour faciliter le développement d'applications dans un langage de programmation spécifique. Ces plateformes visent à simplifier le processus de création de logiciels en fournissant des composants réutilisables. Le framework sert de base, que les développeurs peuvent adapter en y ajoutant du code personnalisé selon leurs besoins.

L'objectif des frameworks est d'assurer une réutilisation optimale, permettant aux développeurs de ne pas repartir de zéro à chaque nouveau projet. Ils comprennent souvent des classes et des fonctions prédéfinies, offrant des solutions pour interagir avec des périphériques matériels ou accomplir des tâches spécifiques, selon le type de framework, les compétences du développeur et les exigences du projet.

Kinlan partage son expérience personnelle en utilisant ces outils pour construire rapidement des applications fonctionnelles, constatant qu'il se sentait extrêmement productif. Il souligne que, bien que Replit produise souvent du code répétitif et sans structure complexe, cela n’empêche pas l'outil de répondre efficacement à ses besoins immédiats. Il s'interroge ainsi sur l'avenir des modèles d'architecture traditionnels et se demande si de nouvelles approches logicielles, adaptées à la gestion des modèles de langage (LLM), émergeront pour remplacer les frameworks actuels.

Frameworks ou IA la bataille entre facilité de développement et qualité du code à long terme

L’évolution rapide des outils de génération de code assistée par IA, comme ceux proposés par Replit, suscite un débat intense sur l’avenir des frameworks traditionnels et des pratiques de développement en général. D’un côté, ces outils semblent offrir une solution rapide et efficace pour créer des applications simples, en automatisant une grande partie de la génération de code. Cependant, plusieurs critiques soulignent que ce genre de génération de code produit souvent des résultats sous-optimaux, notamment en raison de la répétition excessive du code, de la duplication logique et du manque de structure modulaire. Cela engendre un code dit « vanille » (simple et brut) qui, à long terme, peut devenir difficile à maintenir et à étendre, contrairement à un code bien architecturé, conçu avec un framework solide.

En effet, les frameworks ne se contentent pas de faciliter le développement initial. Ils imposent une structure qui, en dépit de ses apparentes contraintes, permet de garantir la cohérence du projet à grande échelle. Ils favorisent l’extensibilité, la testabilité et la réutilisation du code, des qualités qui deviennent cruciales lorsque le logiciel évolue au fil du temps. Les critiques soulignent que, même si un agent IA peut générer rapidement un produit fonctionnel, il ne prend pas en compte la logique sous-jacente de la conception, ni la manière dont les applications devront être adaptées, déboguées et étendues à l’avenir. Un code généré par IA, sans cadre structurel, est souvent vu comme du « mauvais code » ou du « bloat », car il devient difficilement évolutif et peut générer des erreurs subtiles difficiles à repérer et à corriger.

Certains soutiennent cependant que l’approche IA pourrait libérer les développeurs de certaines tâches répétitives et fastidieuses, leur permettant de se concentrer sur des aspects plus créatifs ou complexes du développement. À une époque où la vitesse de développement devient une priorité pour les entreprises, l’automatisation générée par IA pourrait offrir une alternative intéressante aux frameworks traditionnels, en rendant le développement plus accessible à ceux qui n’ont pas forcément de compétences techniques avancées. Cependant, cette vision pose aussi des questions sur la qualité et la pérennité des produits générés ainsi, notamment dans des contextes de grande envergure nécessitant des mises à jour fréquentes ou une maintenance continue.


Le véritable dilemme réside donc dans l'équilibre entre la rapidité de développement et la qualité du code. Si la génération automatique de code peut s’avérer efficace pour des applications simples ou prototypes, elle risque de s’avérer problématique à mesure que la complexité des projets augmente. Les frameworks, quant à eux, bien qu’ils imposent une structure plus rigide, assurent une base de travail plus robuste pour des applications à long terme. Ce qui semble être un progrès vers un développement logiciel plus rapide et plus accessible, pourrait en fait mener à une accumulation de dettes techniques si les outils générant le code ne prennent pas en compte les principes d’architecture logicielle solides.

Ainsi, le rôle des frameworks ne semble pas disparaître pour l'instant. Ils demeurent un outil indispensable pour les projets complexes, où la maintenabilité, l’extensibilité et la cohérence du code sont primordiales. Les IA génératives, quant à elles, peuvent jouer un rôle complémentaire, mais leur utilisation devra être prudente et ciblée, notamment pour des applications simples ou comme point de départ pour des prototypes, plutôt que comme solution à long terme.

Sources : Paul Kinlan's blog post, Red Hat

Et vous ?

Les frameworks imposent-ils réellement des contraintes sur l'architecture du code ou offrent-ils simplement un cadre nécessaire pour maintenir la cohérence et la qualité à long terme ?

Les frameworks traditionnels sont-ils vraiment obsolètes, ou les outils automatisés sont-ils simplement complémentaires, adaptés à des besoins spécifiques mais insuffisants pour des projets complexes ?

L'émergence d'outils comme Replit pourrait-elle conduire à une simplification excessive du développement, au détriment de la structure et de la maintenabilité du code à long terme ?

En envisageant un avenir sans frameworks traditionnels, Paul Kinlan ignore-t-il le rôle crucial que ces frameworks jouent dans l'extensibilité, la testabilité et la réutilisabilité des applications à grande échelle ?

Voir aussi :

Les frameworks Web détruisent-ils vraiment les performances du Web ou l'expérience utilisateur ? Ils placeraient la satisfaction des développeurs au-dessus des utilisateurs

La version 2.0 de Kiss, le framework full-stack open source basé sur Java, est désormais disponible et permet le développement d'applications web professionnelles sécurisées, robustes et rapides

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de denisys
Membre chevronné https://www.developpez.com
Le 15/11/2024 à 18:29
Le véritable dilemme réside donc dans l'équilibre entre la rapidité de développement et la qualité du code.
Notamment !!!

Pour moi , les gros boulets dans le développent web actuelle .
C'est le nombre de Frameworks qu'il faut installer , distribuer , pour afficher la base d'une application :
Hello World

A mon point de vue .
Il y a trop de trop pour faire simple !!!
5  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 17/11/2024 à 13:11
Citation Envoyé par denisys Voir le message
Notamment !!!

Pour moi , les gros boulets dans le développent web actuelle .
C'est le nombre de Frameworks qu'il faut installer , distribuer , pour afficher la base d'une application :
Hello World

A mon point de vue .
Il y a trop de trop pour faire simple !!!

C’est sûr que pour un Hello world, une page statique sur Apache suffit.

Mais les applications d’entreprise nécessitent authentification, journalisation, persistance de la session, montée en charge, pool de connexion à la base de données et sûrement plein d’autres choses ! On est loin du petit script CGI de 10 lignes qui servaient de preuve de concept.

Certains framework sont assez adaptés pour des développements simples comme plus compliqués : https://github.com/aantron/dream/tree/master/example#readme
2  0 
Avatar de JPLAROCHE
Membre expérimenté https://www.developpez.com
Le 16/11/2024 à 21:49
De bonne méthode, faire quelque chose qui colle à la peau de l'entreprise et performant, alors n'allez pas chercher l'outil qui fait votre boulot, mais soyez performant dans la connaissance de votre système d'exploitation et dans le langage vous permettant de répondre aux besoins…
1  0