JS

Les frameworks sont-ils indispensables ?

  • 0 Comment
  • 17 octobre 2018

Au moment de la conception d’un projet web, tous les développeurs doivent faire un choix technique : “dois-je utiliser un framework ? Et si oui, lequel ?“ Et la réponse n’est jamais évidente. Cet article est un retour d’expérience de Mehdi, consultant JavaScript à NeoLynk !

Une communication tournée vers les frameworks

Chaque vendredi, lorsque je reçois la newsletter « JavaScript Weekly », je trouve essentiellement des liens de veille sur des frameworks : React, Vue.js, Angular… Et cela ne me donne pas forcément envie d’aller plus loin car je ne maîtrise pas et je n’utilise pas tous ces frameworks JS !

Et concernant mes sites de veilles technologiques c’est la même chose. Il y en a trop peu qui informent sur la conception de WebApp ou encore sur des designs patterns. La plupart des sites comme Hacker News, Reddit ou bien GitHub évoquent essentiellement le sujet des frameworks.

L’utilisation des frameworks : une mode ?

Dans nos projets respectifs, nous utilisons tous des frameworks, que ce soit en JS ou dans d’autres langages de programmation. Cependant, il est très compliqué de suivre toutes les évolutions de l’écosystème JS. On a l’impression qu’aujourd’hui le monde du JavaScript est complexe car c’est une industrie jeune avec beaucoup de standard : compiler, precompiler, linter, préprocesseurs…

Cette mode d’utiliser des frameworks JS front-end a été lancée par les mastodontes du net : Google avec Angular et Facebook avec React par exemple.

Leurs frameworks open source développés en interne apportent des solutions aux développeurs mais permettent surtout d’assurer une certaine visibilité à ces géants du net, car plus il y a de développeurs qui utilisent leurs solutions, plus leur position devient hégémonique.

Sans framework tout est possible !

Si nous prenons l’exemple de l’application web soundslice.com développé par Adrian Holovaty, il est possible de créer un projet sans utiliser de framework !

Cette application permet d’apprendre une musique en regardant une vidéo avec la partition qui défile en même temps.

Pour ce projet, les développeurs ont exclusivement utilisés du JavaScript sans aucun framework. Adrian et son équipe ont préféré utiliser des patterns pour éviter d’avoir une application difficile à maintenir et à appréhender pour de nouveaux développeurs.

Les frameworks open source regroupent aujourd’hui énormément de fonctionnalités pour répondre aux besoins d’un grand nombre de développeurs. Cependant, des fonctionnalités qui sont parfois très spécifiques ne sont pas utiles dans la plupart des projets. Il est donc important de se demander s’il est réellement nécessaire d’utiliser un framework ou s’il n’est pas plus simple d’utiliser simplement le langage.

Quelques conseils à tous les développeurs

Le but de cet article n’est pas de dire s’il faut ou pas utiliser un framework pour son projet mais de comprendre les avantages et les inconvénients d’en utiliser.

Les avantages

  • Le côté open source permet d’avoir des fonctionnalités régulièrement mis à jour
  • Si votre projet permet de faire évoluer le framework c’est toujours un plus pour votre CV
  • L’aspect sécuritaire d’un framework n’est pas à négliger
  • Un développement plus rapide car les fonctionnalités majeures sont déjà là
  • Concernant les frameworks MVC, le travail en groupe est facilité car les designers et les développeurs peuvent travailler en même temps et sur des fichiers différents

Les inconvénients

  • Le temps de formation : l’utilisation d’un framework demande parfois du temps car il faut comprendre son fonctionnement interne, savoir le débugger, connaître ses bonnes pratiques ou encore lire la documentation…
  • Le tout ou rien : comme expliqué plus haut dans l’article, si vous utilisez un framework vous n’utiliserez que très rarement l’ensemble de ses fonctionnalités

Pour conclure, je dirais à tous les développeurs de garder l’esprit ouvert pour évaluer la nécessité d’utiliser un framework en fonction du projet et des compétences de l’équipe de développement.

Il ne faut pas se laisser guider par la tendance mais réfléchir au meilleur moyen de construire son projet. “Le temps de la réflexion est une économie de temps.” (1)

Ci-dessous le lien de la conférence dont je me suis inspiré pour cet article :

https://www.dotconferences.com/2017/12/adrian-holovaty-a-framework-author-case-against-frameworks

(1) Citation de Publius Syrus