Aide En Informatique
Latest Posts:

C'est quoi exactement le role d'un framework? est il une bibliothèque?
C'est quoi exactement le role d'un framework? est il une bibliothèque?

C'est quoi exactement le role d'un framework? est il une bibliothèque?

Beaucoup de dev me demandent souvent inbox ce que sait qu'un framework? et quelle est la difference entre Framework, langage et bibliothèque de classe (ce qu'on appelle Library en anglais et meme dans l'image d'illustration de ce post)

Je vais essayer d'éclaircir ici pour ceux qui ne savent pas le role d'un framework et à quoi ça sert.

Un framework n'est pas une bibliothèque (ou library en anglais) et ne joue pas le meme role qu'une bibliothèque. On utilise une bibliothèque pour integrer une fonctionalité existante dans son code de manière à éviter de ré-ecrire ou re-coder une chose dejà fait(on invente pas la roue), cette fonctionalité peut etre faite par toi meme ou par d'autres developpeurs qui le mettent à ta disposition par different canaux par exemple github, par package npm s'il s'agit de javascript, par nuget s'il s'agit de dotnet, par maven s'il s'agit de java ou tout simplement en te l'exposant comme une API REST comme les API de GOOGLE etc.... Par contre un framework c'est tout un autre film, si on intègre une bibliothèque dans notre code, de l'autre coté on ecrit plutot notre code dans le framework et en fonction de la configuration du framework, notre code se comporte comme on l'a configuré, en d'autres termes nous integrons plutot notre code au framework et c'est plutot le framework qui s'occupe d'executer et de gerer le fonctionnement de notre code, donc en fait le cycle de vie de notre app, depend du framework et sa configuration.

Reguardez bien l'image suivant : c'est le framework qui appelle notre code ou mieux c'est lui qui doit trouver un moyen de faire reference à notre code alors que de l'autre coté, notre code fait reference aux bibliothèque interne ou externe à notre code..vous voyez la nuance?

Les concepteurs de framework ont simplement regroupé un ensemble de choses comunes et repetitives que les developpeurs font de projet en projet, et pour simplifier la vie des developpeurs et eviter la repetition de ces choses comunes, ils mettent sur pieds une structure avec les best design- (bonnes methodologie) qui permet d'encapsuler le code ecrit par le developpeur pour produire un resultat finale attendu par le developpeur, donc en quelque sorte, en inserrant son code dans un framework, on suit une structure imposée par le framework dans l'optique de produire du meilleur code et d'eviter de faire des choses repetitif. Par exemple des framwork comme laravel, symfony, ou codeigneter en php ou meme aspnet en dotnet, spring en java, ou flask en python etc.. suivent une architecture MVC et du coup imposent aux developpeurs de mettre leur bout de code dans ce type d'architecture pour produire un site web, du coup inconsciement, le developpeur applique sur son propre code la bonne pratique(best practice en anglais), les bons design pattern et en interne, le framework generalement s'occupe de beaucoup d'aspect qui est transparent pour l'utilisateur par exemple la securité, la gestion parfois automatisé des utilisateurs, la gestion et l'accès à une base de données à travers des objets integrés dans le framework, parfois le framework propose des templates presque complet ou on peut avec moins d'effort créer un site web complexe etc...

outre le web, meme en mobile ou desktop, l'objectif des framework c'est le meme, par exemple Flutter c'est un framework multiplateforme de google pour repondre au concept "One Code: Run everywhere" à savoir un seul code qui marche partout car google a remarqué que de nos jours, les entreprises veulent avoir contemporainement la meme app en version mobile, desktop, web, pwa etc.. et se retrouvent le plus souvent à devoir avoir 4 teams, ou 5 teams avec des technologies et langages differentes pour faire tout cela et "Time Is Money" (le temps c'est l'argent), pourquoi ne pas ecrire un seul code, et juste avec quelques configurations avoir la meme chose pour different plateforme? c'est la reponse de flutter et de bien d'autres avant lui, les devloppeurs qui veulent suivre flutter donc ce framwork, doivent utiliser les widget et travailler comme le veut le framework et le resultat finale c'est que le framework au bout du fil leur produira soit une app android, soit ios, soit we, soit pwa, soit desktop.. voilà le role du framework.

Happy coding


Author: admin
04.01.2023, 22:26
Category: Other
Comments: 0
Views: 596
-

Share

Comments (0)
There are no comments yet.

Leave A Comment
processing...