Les frameworks en deux mots
Un framework (cadriciel) est un « cadre » dans le développement. C’est donc quelque chose qu’on peut retrouver dans différents domaines du développement (CSS, JavaScript, langage algorithmique…) On se force avec un framework à suivre une certaine organisation et certaines pratiques. Cette organisation et ces pratiques sont imposées par le framework. Par exemple :
- Respecter une organisation précise dans les dossiers et fichiers de code
- Respecter des règles de nommage pour les variables, objets et bases de données
En contrepartie de ces règles, le framework permet de rendre plus rapide le développement. Ainsi :
- Des comportements classiques peuvent être autogénérés
- La sécurité est gérée automatiquement par le framework (dans une certaine mesure)
- Tout le monde code pareil, ce qui facilite l’intégration de nouveaux dev dans l’équipe
Exemples de comportements auto-générables
- CSS : Jolis boutons, site responsive… voir notre fiche dédiée au langage CSS
- Web client : auto-sauvegarde des données saisies, temps-réel, validation…
- Web serveur : sécurité liée aux API, gestion de comptes, mailing…
- Langage pour des logiciels : accès au système d’exploitation…
Les frameworks nécessitent de nombreux fichiers de code à télécharger (en général un ZIP sur le site de l’éditeur). Ce ne sont pas des logiciels mais des fichiers de code à intégrer directement à notre projet.
Les frameworks sont la plupart du temps développés dans le langage qu’ils servent. Par exemple, Tailwind est codé en CSS et Laravel est codé en PHP.
Les frameworks CSS les plus connus
- Bootstrap
- Tailwind
Les frameworks web client (JavaScript) les plus connus
- jQuery (ce n’est pas tout à fait un framework, est de moins en moins utilisé)
- React (ce n’est pas tout à fait un framework)
- Vue
- Angular
Les frameworks web serveur les plus connus
- ASP.NET, WCF (C#)
- Struts, JSF, Spring (Java)
- Laravel, Symfony, Zend Framework, CakePHP (PHP)
- Flask, Django (Python)
Les frameworks pour les logiciels les plus connus
- Electron (NodeJS)
- WPF, WinForms, Xamarin (C#)
- Swing, JavaFX (Java)