Pourquoi utiliser des frameworks dans un projet informatique?

frameworks

Yii, Zend, Symfony, Angular JS, Codelgniter, Ruby on rails, Cakephp… ces noms ne vous disent peut-être rien. Ce sont des frameworks couramment utilisés dans le développement d’applications et de sites internet. De quoi s’agit-il et pourquoi serait-il préférable d’en adopter un pour votre projet ? Lesquels représentent les meilleurs choix et sur quels critères se baser? C’est ce que nous vous expliquons ici.

Qu’est-ce qu’un framework ?

En gros, il s’agit d’une boîte à outils couplée à une bibliothèque pour programmeur informatique.
Il permet d’aider les programmeurs dans leur travail en leur proposant des morceaux de code pour mettre en place des fonctionnalités couramment demandées pour des applications. Par exemple, le multilinguisme, la gestion de la sécurité, la modularité (c’est-à-dire la possibilité pour l’utilisateur de personnaliser son interface).

L’avantage est que les programmeurs ne réinventent pas la roue chacun dans leur coin en programmant de A à Z tous les aspects de l’application demandée par le client.

Cela dit, ne pensez pas non plus que tout peut se faire via ces fameuses bibliothèques de code dont on assemblerait bout à bout des extraits pour constituer le projet.Ce serait comme se contenter d’empiler des briques pour construire une maison (pas de fenêtre ni de porte, tant pis si vous en vouliez!). Les bibliothèques procurent une base de travail, un squelette que le programmateur va ensuite étoffer et personnaliser selon les besoins de son client.

Il faut savoir aussi qu’un projet nécessitera souvent l’utilisation de plusieurs frameworks. En effet, les frameworks sont généralement spécialisés dans un domaine bien précis:

  • Un framework backend permet à l’application de communiquer avec la base de données qui renferme des renseignements aussi précieux que les informations sur les utilisateurs, les sessions en cours, les articles en vente sur votre site… Yii est un exemple de framework backend, tout comme CodeIgniter, Cakephp, Symfony…
  • Un framework frontend applicatif permet de créer une interface pour que l’utilisateur puisse utiliser l’application. C’est le cas d’Angular JS mais aussi de React, Backbone.js.
  • Enfin, un framework frontend de présentation permet de définir l’apparence de l’application pour l’utilisateur. C’est le cas de Bootstrap.

Pourquoi un (ou plusieurs) framework(s) pour votre projet ?

Vous l’aurez compris : utiliser un framework permet au programmeur de travailler plus vite et au client d’économiser des heures de travail à payer. L’avantage est donc bien réel!

Ce n’est pas le seul. En programmation, vous avez 1001 façons d’arriver au même résultat. Le problème est que si votre programmeur vous lâche en cours de projet, son remplaçant va devoir au préalable se plonger pendant de longues heures dans le travail du précédent pour comprendre ce qu’il a fait et comment il l’a fait. Et ces heures seront bien entendu facturées au client.

Utiliser un framework permet d’éviter ce problème. Les frameworks partagent ce que l’on appelle des design patterns, à savoir des façons de faire standardisées. Si un nouveau programmeur doit reprendre un projet en cours, il pourra se mettre à coder beaucoup plus rapidement, puisque le précédent aura utilisé des design patterns, à savoir des standards connus de tous.

Notez aussi que pour chaque framework, vous avez non seulement de la documentation et un service d’aide mais aussi une communauté d’utilisateurs qui se forme et échange des informations sur les manières les plus efficaces de faire telle ou telle chose, la résolution d’erreurs… Là aussi, l’avantage se traduit en heures de travail gagnées pour le client.

Utiliser un (ou plusieurs) framework(s) offre donc plus de sécurité et une garantie d’économie pour le client.

Quels frameworks choisir ?

C’est une question hautement subjective… Posez la question à des programmeurs et vous obtiendrez autant de réponses qu’il y a de frameworks!

Nous avons évidemment nos préférences, qui sont le résultat de notre longue expérience en matière de programmation.

Voici les critères que nous prenons en compte dans le choix avant même de tester le framework (ces critères valent pour le choix de n’importe quelle technologie) :

  • La maturité du framework : il vaut mieux choisir des technologies qui sont là depuis longtemps et qui ont déjà fait leurs preuves plutôt qu’un petit nouveau qui va peut-être devoir résoudre des défauts de jeunesse. Autre avantage : une technologie mature a eu le temps de rassembler une grande communauté d’utilisateurs/développeurs prête à venir en aide au membre en difficulté grâce aux forums de discussion, à la documentation, aux ressources…
  • La rapidité de mise en oeuvre, c’est-à-dire le temps nécessaire pour l’installation du framework et celui entre l’installation et le moment où le framework est opérationnel.
  • La courbe d’apprentissage qui est le temps nécessaire pour apprendre à maîtriser le framework.
  • L’acceptation par le framework des conventions de programmation et des best practices.
  • La capacité du framework à s’adapter à l’évolution des technologies : en clair, mature ne veut pas dire fossilisé, il faut que le framework évolue avec son temps.
  • La capacité du framework à s’adapter à la charge, c’est-à-dire à l’augmentation du nombre d’utilisateurs.

Et les gagnants sont…

Yii pour le framework backend

yii-framework

Pour nous, le framework backend le plus performant sur le marché est Yii2. Il existe depuis 2009 et en est à la version Yii 2.0. Nous en avons testé beaucoup et c’est celui que nous trouvons le plus rapide et le mieux structuré.

phpframeworkperfcompa

Le graphique suivant vous permettra de vous rendre compte des performances de Yii en comparaison avec d’autres frameworks (source : www.yiiframework.com).
Nous ne sommes pas les seuls à le penser puisque Yii est régulièrement cité comme l’un des meilleurs frameworks pour construire une application :
http://www.sitepoint.com/5-most-popular-frontend-frameworks-compared/
http://beebom.com/2015/02/best-free-php-framework
http://www.phpgang.com/top-10-php-frameworks-worth-looking-forward-to-in-2015_937.html

Yii utilise le langage Php. Cela a son importance car il s’agit d’un langage très répandu. Il est par conséquent assez facile de trouver un bon développeur en Php et à des prix raisonnables.

AngularJS et Bootstrap pour les frameworks front-end

angular js logo

Pour les frameworks frontend, notre préférence va à AngularJS. Très populaire, il utilise le langage JavaScript, autre langage massivement utilisé pour construire des interfaces application/utilisateur.

bestjsframework2015

Voici un graphique démontrant la popularité d’Angular JS (et en informatique, popularité rime bien souvent avec efficacité… pour les développeurs aussi, le temps c’est de l’argent!) (source : www.beebom.com)

 

bootstrap logo

Enfin, Bootstrap nous paraît être un très bon choix en matière de framework front-end pour définir l’apparence de votre site ou de votre application car il utilise le principe des grilles.

En conclusion

Aujourd’hui, il est pour nous inenvisageable de commencer un projet sans recourir à un framework. Rapidité, gain d’argent, sécurité… les avantages sont également très nets pour le client.

0 Commentaire

Laissez une réponse