janvier
2011
API:
API est une bibliothèque qui regroupe des classes, des méthodes, des interfaces…susceptibles d’être utilisés par les programmeurs.
Java dispose de plusieurs API (plusieurs bibliothèques); vous entendrez souvent parler des API java.
Framework :
Comme vous allez découvrir, Framework est une bibliothèque pas comme les autres!
Analogie intéressante que j’ai trouvée sur le net :
L’objectif est de faire un bon gâteau. Généralement, les personnes qui ne savent pas cuisiner ou qui aiment particulièrement une recette très connue choisissent un gâteau tout prêt qui est vendu dans un sachet qu’il suffit de mettre au four, c’est ce que l’on appelle en développement web un CMS ou Système de Gestion de Contenu. C’est très pratique et on y a tous goûté un jour mais il est quasi-impossible de changer la recette, au mieux vous pouvez rajouter un peu de nappage sur le dessus mais ça reste succinct… et frustrant. De plus, avouons-le, c’est loin d’être de la grande cuisine, c’est correct mais ça en reste là. Enfin, et c’est souvent le plus gênant, les sachets vendus sont pour 4 et comment faire lorsque vous êtes 6 ou 2 ?
Heureusement tout ces inconvénients disparaissent lorsque l’on sait cuisiner. On choisit la recette qui nous plaît, les ingrédients parmi les meilleurs et on fait un bon gâteau. Le problème de cette méthode est qu’elle prend du temps. Or, il y a des combinaisons d’ingrédients que l’on retrouve tout le temps comme mélanger des œufs et de la farine ou monter des blancs en neige. Si seulement on pouvait directement avoir accès à ces ingrédients tout prêts !
En cuisine, ce n’est pas évident et cela demanderait un frigo énorme, mais en développement web on a trouvé la parade : les frameworks .
Un framework est donc un regroupement de macro-ingrédients qui forment un tout cohérent et que l’on a juste a assembler selon nos besoins pour faire un gâteau avec notre propre recette.
Avantages d’un framework
Liste non exhaustive :
* Le premier avantage est la liberté : c’est vous qui décidez de la recette pour arriver au gâteau souhaité et personne d’autre, si vous n’aimez pas le café il suffit de ne pas en mettre, c’est tout simple. Ce soir vous êtes 9 ? Une petite conversion et le tour est joué. Aïe, ce macro-ingrédient n’existe pas encore. Aucun problème il suffit de le créer vous-même ;
* Le deuxième est la rapidité : faire votre gâteau à partir des ingrédients de base prendrait trop de temps, l’objectif est quand même d’être rassasié rapidement . Les macro-ingrédients sont le compromis idéal ;
* Le troisième est la qualité : les macro-ingrédients ont été assemblés par des personnes très compétentes qui ont normalement envisagé toutes les possibilités d’assemblage. De plus, ceux-ci sont distincts donc vous pouvez facilement modifier/améliorer le vôtre pour ensuite éventuellement le partager ou directement récupérer celui d’un ami ;
* Le quatrième est la cohérence : pour éviter les fautes de goût, tous les macro-ingrédients ont été assemblés dans un but commun qui est de faire de bons gâteau ;
* Le cinquième est la pérennité : tout le monde peut monter des blancs en neige, mais il faut toujours retenir ce qu’il faut mettre à la bonne température, combien de temps tourner dans un sens,… le macro-ingrédients « blancs en neige » est toujours fait de la même manière, la meilleure. Et si jamais un jour il en existe un nouvelle encore meilleure, elle sera utilisée sans même que vous le sachiez.
Ne pas confondre API et framework :
Framework = ensemble d’éléments assemblés dans un but commun; il s’agit d’un kit!
API= ensemble d’éléments de bases assemblés dans un but commun (faciliter la programmation) mais avec beaucoup moins de cohérence qu’un framework.
Un framework est beaucoup plus ciblé qu’un API.