[Brouillon] Pourquoi utiliser un framework ?
Cet article est un brouillon. De plus, il peut ne pas s'adapter à tous les frameworks puisque je l'écris en prenant l'exemple de Ruby on Rails.
Voici une liste non exhaustive des atouts apportés par un framework :
Cet article est un brouillon. De plus, il peut ne pas s'adapter à tous les frameworks puisque je l'écris en prenant l'exemple de Ruby on Rails.
Voici une liste non exhaustive des atouts apportés par un framework :
- Produire un code plus lisible — donc plus facile à maintenir — grâce à des classes prêtes à l'emploi.
- Faciliter la validation des données, pour valider que les données que vous entrez en base de données sont correctes (longueur d'un nom, la validité d'un email, l'appartenance à une collection, confirmation d'un mot de passe, etc.).
- Centraliser le code métier, pour réunir en un endroit le code métier afin de conserver la clarté du code des contrôleurs.
- Simplifier la gestion des formulaires, comme l'afficher du formulaire prérempli et avec des messages d'erreurs quand la validation des données échoue.
- Faciliter la mise en place de systèmes de cache.
- Faciliter la mise en commun des fichiers (packaging) types Javascript et CSS (permettant de séparer les fichiers pour une meilleure organisation sans impact sur les performances).
- Faciliter la différence d'états entre l'environnement de développement et de production : compresser le Javascript uniquement en production pour que le debug soit facile en développement, désactiver à la demande les caches en développement, etc.
- Faciliter la gestion de l'internationalisation/localisation.
- Proposer un système de rendu efficace, capable de servir des données de différents types (html, html pour mobiles, images, json, xml, etc.) sans avoir à répéter des include (ou assimilés) sur les pages.
- Proposer une structure claire et organisée.
- Permettre de se faire aider facilement par la communauté (celle du framework utilisée) grâce à une architecture standard et une API documentée.
- Faciliter la sécurisation de l'application : échappement des données affichées pour limiter les attaques XSS, échappement des données insérées en base de données pour limiter les attaques par injection SQL, utilisation et maintient d'un jeton pour limiter les attaques CSRF, etc.