La programmation : Qu’est-ce qu’un framework ?


Les frameworks sont là pour fournir un boilerplate ou un fil conducteur de base sur lequel construire des applications.

Les frameworks sont généralement plus spécifiques à une application.
eg : Python peut être utilisé pour faire n'importe quoi en informatique. Mais le framework Django sur python est utilisé pour construire des web-apps et des services web.


En plus de détails :

Disons que vous voulez écrire un service web à partir de zéro (sans utiliser de framework comme flask ou django).

Vous commencerez donc par un code qui ouvre un port sur votre ordinateur et écoute ce port pour communiquer.
Lorsqu'il reçoit une requête sur ce port, il va déterminer le chemin qui a été demandé et quels paramètres etc a été passé.
Puis il va récupérer de manière problématique les données qui doivent être retournées comme les données html ou les données d'un db. Puis retourner ces données.
(Beaucoup d'autres choses devront également être gérées comme les paquets HTTP, l'encodage de la réponse à la demande le décodage sous forme de paquets, les connexions persistantes http1.1, l'authentification, etc. etc.)

Mais si vous utilisez djago ou flask Framework pour écrire un service web.
vous allez créer une méthode qui se lit comme suit :

@app.route('/&apos 😉
def hello_world():
return render_template('hello_world.html&apos 😉

et le framework s'occupera de l'ouverture des ports/ de l'écoute/ de la communication http/ de l'encodage des paquets du décodage/ du rendu de la page html/ du retour des images statiques comme le favicon/ de la communication avec la Db/ des ad ons d'authentification sont présentes/ etc etc..

Donc, fondamentalement, un framework est quelque chose qui s'occupe des tâches de base redondantes afin que des applications sophistiquées puissent être écrites dessus de manière simple. Les frameworks sont généralement des add-on génériques au dessus d'un langage de programmation. Ils ne'fonctionnent pas par eux-mêmes, il faut écrire du code qui utilise cette fonctionnalité du framework pour donner vie au framework.