Dans le monde de la programmation web, ces dernières années ont donné lieu à une explosion pure et simple des frameworks ! Ils ont progressivement pris une place considérable dans nos vies de développeurs, et pourtant… faut-il vraiment les utiliser pour tous nos projets ? Quels sont les avantages et les inconvénients des frameworks ? Et puis finalement… c’est quoi un framework ?
Un framework, traduit littéralement, ça nous donne un cadre de travail. Pour faire simple, c’est un ensemble de composants qui structure votre application et qui contraint la manière dont vous allez la développer.
Un framework est toujours associé à un langage de programmation : JavaLangage de développement très populaire !, PHP, Javascript… et est « censé » ( on y reviendra plus tard) vous aider dans le développement d’applications web.
Il existe plusieurs types de frameworks :
Pendant un temps, la mode était de développer des frameworks maison. Aujourd’hui, on voit de plus en plus émerger des frameworks open source, et ce n’est pas pour nous déplaire !
Maintenant qu’on a une vue un peu plus dégagée sur ce qu’est un framework, entrons dans le vif du sujet : dois-je ou non utiliser un framework pour développer mon projet ?
Pour répondre à cette question, tournons-nous d’abord vers les avantages et inconvénients de leur utilisation.
video: https://www.youtube.com/embed/-HoSjmLY7fo
Utiliser un framework comporte de nombreux avantages :
Utiliser des frameworks comporte également de nombreux inconvénients :
Au vu des différents avantages et inconvénients mentionnés, on voit bien que la balance est relativement équilibrée et que donc prendre la décision d’utiliser un framework n’est pas totalement limpide. A ce stade, il devient intéressant de différencier le front end du back end.
L’objectif principal d’un framework est d’harmoniser les pratiques. Côté back, c’est presque toujours pertinent, sauf peut-être dans le cas d’un tout petit site en PHPLangage de programmation s’exécutant côté serveur et permettant la création dynamique de pages web ou d'APIs. (mais alors on peut aussi bien intégrer un WordPress).
Côté front, c’est plus discutable. Il y a quelques années, les frameworks front end étaient encore peu répandus et la question ne se posait même pas. Mais leur essor spectaculaire a changé la donne : aujourd’hui, il n’y a aucun sens à développer une application web de gestion sans framework. On le recommande également dans le cadre de sites web un peu conséquents, avec un nombre important d’écrans, de pages, d’actions.
Côté back, comme nous venons de le dire, il n’y a guère que le cas d’un site perso en PHP qui puisse justifier de ne pas utiliser de framework (et encore).
Côté front, un site vitrine ou autre création web sans grande interaction utilisateur peut se passer d’un framework. L’écueil est de consacrer plus de temps à choisir et paramétrer le framewor qu’à l’utiliser. Recourir à des librairies Javascript tels jQuery (qui ne sont pas des frameworks à proprement parler) peut suffire.
Un autre cas, plus rare, est celui d’une brique applicative (front, back ou client lourd) tellement spécifique et complexe qu’un framework représenterait plus une limite qu’une aide. Mais soyons clairs, ce genre de cas ne se rencontre que sur des problématiques de R&D, donc loin du tout venant.
Pour choisir un framework adapté à son projet, pas de secret : il faut définir en amont le cadre du projet. Définir le cadre pratique, les features qu’on souhaite utiliser, etc.
De notre côté, pour bien choisir notre framework avant de débuter un projet, on s’intéresse surtout aux deux indicateurs suivants :
A ce stade, on se permet de faire également un petit point rouge car on s’est fait avoir par le passé et on aimerait pas que ça vous arrive… Alors, faites attention, lors du choix de votre framework à ne pas foncer tête baissée sous prétexte qu’il y a un grand nom derrière les frameworks (exemple : Google ou Java). Ce n’est pas forcément un gage de réussite 🙂
Il existe une multitude de frameworks open source. Cela n’aurait pas beaucoup de sens de tous les citer (surtout qu’on peut noter des disparitions régulières), alors voici simplement un petit panorama des plus grands noms du moment, selon leur fonction : backend ou frontend.
BACK | FRONT | |
---|---|---|
Java | JEE, Spring Boot, Hibernate | |
Javascript | NodeJS, Express | Angular, React, VueJS |
PHP | Symfony, Laravel | |
Windows | .NET |
Selon les projets et les besoins, le choix du framework est discutable et va de la bonne appréciation de chacun.
Nos frameworks préférés
Côté front, notre petit préféré c’est Angular ! Il permet de faire une multitude d’actions, en peu de temps, et l’outil est relativement simple à prendre en main. Il reprend le meilleur des frameworks MVC côté serveur 🙂 Alors il est vrai que ReactReact est un framework de développement JavaScript populaire. est pas mal non plus, mais, après nos tests, AngularAngular est un framework de développement JavaScript populaire basé sur TypeScript. tire son épingle du jeu ( pour découvrir le combat, c’est ici : Angular VS React )
Côté back, notre coup de coeur c’est Spring Boot ! C’est un framework très performant, productif et qui bénéficie de toute la légèreté de Spring ! En très peu de lignes de code, on arrive à faire des APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données. RESTREST (REpresentational State Transfer) est un style d'architecture logicielle qui fonctionne sous un certain nombre de contraintes. et JSON de manière efficace, et rapide. Bref, c’est très agréable, on recommande 🙂
Du côté des frameworks qui nous ont moins plu, on retiendra SymfonyFramework PHP permettant de développer des applications web. (même si ça tend à s’améliorer), Zend et aussi Hibernate.
Pour conclure, ce n’est pas parce qu’on entend beaucoup parler des frameworks que leur utilisation est obligatoire ! NON, ce n’est pas une évidence d’utiliser un framework pour son projet, tout dépend du projet 🙂
Mais si vous décidez d’en utiliser, laissez-vous aller dans la philosophie de l’outil et ne vous entêtez pas à essayer de bidouiller le cadre pour faire quelque chose qui n’est pas prévu initialement. Laissez-vous guider simplement par le framework ( et si vous ne voulez pas adhérer, ne prenez pas de framework tout simplement 😉 )
En bref, OUI à l’utilisation intelligente et mesurée des frameworks !
Mais veillez aussi à changer souvent : pour ceux qui restent bloqués des années sur le même framework, la tentation est grande de penser que la manière de travailler que celui-ci propose est la seule, l’unique et de loin la meilleure. Multiplier les expériences est la meilleure manière de prendre de la hauteur !
Et vous, vous utilisez des frameworks ?
On fait le point sur les frameworks maison pour les non techniques. Avantages, inconvénients et point historique !
De plus en plus de serveurs sont attaqués par du flooding HTTP, mettant à genou votre serveur Apache, l’empêchant ainsi de répondre aux vraies requêtes qui lui sont adressées.
Votre code fonctionne, il est beau, optimisé (n’est-ce pas), prêt à être déployé en production aux yeux de tous. Il ne reste plus qu’à l’héberger. Seulement… entre l'hébergement On-Premise et le Cloud, entre dédié et mutualisé, la décision peut sembler complexe. Dans cet article, nous allons examiner ces différentes options afin de vous guider vers le choix le plus adapté à vos besoins. Bonne lecture !