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 :
-
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.).
-
-
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.