Pourquoi utiliser un framework ?

La vie avant les frameworks

Un framework ? Certains développeurs ne savent même pas ce que c'est, et malgré cela, ils arrivent quand même à créer des application web ou des sites web robustes et performants. D'ailleurs, les développeurs n'ont pas attendu l'arrivée des frameworks pour commencer à développer leurs propres outils et bibliothèques de fonctions et de classes réutilisables.

Avec de l'expérience et des échanges entre passionnés, les développeurs se sont rendus compte qu'il y avait des fonctionnalités récurrentes telles que :

Leur travail de conception pouvait donc être industrialisé tant que cela décrivait un modèle de conception réutilisable. Tous ces modèles ainsi recensés sont connus sous le nom de design patterns, ou patrons de conception, qui sont considérés aujourd'hui comme des bonnes pratiques. L'évolution de ces pratiques ont conduit naturellement à la naissance des frameworks. D'ailleurs, les plus connus s'appuient sur les design patterns MVC et IoC.

A quoi sert un framework ?

Pourquoi utiliser un frameworkLorsqu'un développeur rencontre pour la première fois le terme framework, il s'interroge d'abord sur ce qu'est un framework, puis sur ce qu'il peut lui apporter concrètement.

Qu'est-ce qu'un framework ?

Un framework est un cadre de travail basé sur une architecture applicative. Il propose ainsi un ensemble d'outils et de composants logiciels cohérents tels qu'une bibliothèque logicielle réutilisable. Sa structure technique et logique impose au développeur le respect de certaines pratiques et normes de développement.

L'objectif d'un framework

Un framework sert de fondation et de squelette à une application. Toute la partie technique (architecture, structure et bibliothèque) est gérée en toute transparence. Sa conception est faite de telle manière à faciliter le travail du développeur et lui permettre de ne se concentrer que sur l'essentiel, c'est-à-dire le développement des composants métiers.

Les fondations techniques de l'application

Il faut savoir qu'il existe plusieurs types de framework, car chacun d'eux adopte une architecture qui lui est propre pour répondre à des besoins bien spécifiques : système de gestion de contenu, application spécifique à un secteur d'activité, etc.

Un framework constitue les fondations de l'application. En choisissant un framework, vous choisissez aussi votre cadre de travail, et une technologie répondant au mieux aux attentes de l'équipe de développement et aux besoins du projet.

Des composants et une bibliothèque logicielle réutilisables

Tout framework est accompagné de son lot de composants. Que ces derniers soient spécifiques au fonctionnement du framework, réutilisables ou non, cela vous encouragera à utiliser ceux déjà existants dans le but de vous faire gagner du temps sur les développements et les tests.

Un autre point qui mérite de retenir votre attention, c'est la possibilité d'ajouter vos propres composants logicielles spécifiques, ainsi que des bibliothèques provenant d'autres frameworks. Dans ce sens, les développeurs pourront intégrer la « boîte à outils » de leur choix afin de gagner en productivité.

L'investissement sur les composants métiers

Le framework propose déjà une organisation du projet, gère la cohérence entre les modules, intègre tous les composants formant la structure technique et s'assure du bon fonctionnement de l'application. Il ne vous reste plus qu'à ajouter la couche métier.

Le framework se charge du « comment ». A vous de développer le « quoi » faire, le « quoi » extraire de la base de données, et le « quoi » afficher à l'utilisateur. Le framework facilite la vie du projet en plus de réduire le temps de développement. Vous ne vous concentrez uniquement que sur ce que vous savez faire de mieux : votre métier et le développement des composants liés au métier avec ses règles de gestion et ses données.

Une mise à jour régulière du framework

Adopter un framework, c'est aussi prendre en compte sa communauté et être en harmonie avec sa philosophie. En fonction de l'importance de cette communauté et de son activité, les mises à jours seront plus au moins fréquentes, en apportant son lot d'améliorations, de corrections, mais aussi d'anomalies.

Vous profiterez des mises à jour, et le gain de temps en maintenance pourra être réinvesti dans d'autres tâches à valeur ajoutée.

Utiliser un framework... ou pas

L'utilisation d'un framework n'est pas nécessaire dans un projet web, quelque soit sa taille. Vous pouvez très bien vous en passer. Cependant, un framework est comme un squelette applicatif avec sa boîte à outils qui permet de développer plus rapidement, puisqu'il intègre déjà une bonne partie de l'architecture, et invite les développeurs à suivre les normes de développement et de nommage tendant à une meilleure qualité de code.

Les avantages d'un framework

Utiliser un framework offre des avantages non négligeables :

  1. les développeurs se concentrent uniquement sur la partie métier puisque toutes les couches techniques sont déjà intégrées dans le framework. C'est un gain de temps en développement, et donc aussi pour le projet ;
  2. l'architecture n-tiers permet la séparation des couches techniques et des couches logiques afin de faciliter le développement en équipe la maintenance et l'évolution. Par exemple un développeur ne travaillera pas sur la même couche qu'un intégrateur. Cela permet de paralléliser les tâches et évite les conflits dans la gestion des sources ;
  3. la maintenance et l'évolution du framework sont gérées par l'organisme fondatrice. Ce n'est pas l'équipe de développement qui aura la charge de le maintenir. Tout ce temps économisé pourra être dépensé en recherche et développement et apporter de la valeur ajoutée au projet.

Les inconvénients d'un framework

Le seul inconvénient réel qui pourrait freiner à ne pas utiliser un framework est le temps d'apprentissage. Ce « ticket d'entrée » est le prix à payer, car la prise en main peu parfois s'avérer fastidieux... mais une fois la bête maîtrisée, elle ne peut qu'accélérer vos développements.