Framework vs Platform: quelle est la différence?

Bonjour, Habr! Je vous présente la traduction de l'article "Framework Vs. Platform Quelle est la différence?" auteur G. Harris.


Avoue: je suis pédant. Malgré les échecs personnels dans ce domaine, je crois profondément que l'utilisation du bon langage ajoute de nombreux avantages. Pour citer l'aphorisme de Mark Twain :


La différence entre un mot presque correct et un mot correct signifie vraiment beaucoup. C'est la différence entre le bug de la foudre (bug de la foudre) et la foudre (la foudre).

Compte tenu de cette différence, je vois le fait que de temps en temps je suis agacé par le manque de clarté autour des deux concepts de framework et de plateforme . Toute entreprise dans le monde liée au développement dispose d'une sorte de plateforme. Le monde open source regorge de frameworks. Mais peu de gens peuvent définir ces concepts lorsqu'on leur demande. Si je ne suis pas en mesure de donner des définitions claires de la terminologie de base, puis-je prétendre avoir une compréhension complète du sujet de discussion?


Je voudrais proposer une des définitions possibles par analogie.


Une plate-forme est quelque chose qui peut être comparée à la boîte design que mes enfants avaient dans la chambre quand ils étaient petits. Les cubes individuels sont des composants. Sur une plate-forme idéale, de nombreuses combinaisons différentes sont disponibles pour l'assemblage des composants et une large gamme de produits finaux peut être créée. Les plateformes offrent le Saint Graal de la réutilisation des logiciels: c'est pourquoi elles sont si populaires.


Mais quelles sont les conditions préalables à la construction de la plateforme? Pour réussir, la plateforme doit répondre à certaines exigences techniques obligatoires, et les satisfaire est la tâche du framework.


  • , ? , . , , . . , «» — , , . , (well-defined) .
  • , , — . , ? , . . Lego (tm) Fischer-Price (tm). , ( ) . .
  • , . () , , () . , . , , .

, , , :


  1. , .

— , .


, .


, . , . . . , .


: . . , . , , , . , . , , .


Un cadre peut avoir des responsabilités supplémentaires. Idéalement, il soutiendra le concept de relations de cause à effet (Wirkketten en allemand), qui identifie les dépendances d'exécution, les flux de données et les flux de contrôle. En outre, il doit contenir (et masquer) le mécanisme nécessaire pour travailler avec la concurrence. Mais cela servira de matériau pour un autre article.


All Articles