Publié le Laisser un commentaire

Platform versus Framework

Au cours des 30 derniers jours, j’ai eu le plaisir de travailler dans le cadre du projet Openinterface, en rédigeant un document qui délimite comment la plate-forme se poursuivra après la période du projet. Ils pensaient que je pouvais aider en raison de ma longue expérience avec la communauté open source. En fait, c’était une superexpérience alléchante avec des moments difficiles et agréables. La plus excitante était à Porto, au Portugal, au bord de la rivière, quand j’ai trouvé l’inspiration pour écrire des phrases assassines.

Lors de l’élaboration de ce document, de nombreuses personnes du projet ont donné des contributions, des commentaires, des critiques, ce qui était essentiel pour obtenir un meilleur résultat à la fin. Mais l’un d’eux a attiré mon attention. L’un des contributeurs, a demandé de changer le terme « plate-forme » en « framework », ce qui était drôle car le nom « plate-forme » est diffusé dans de nombreux autres documents et sur le site Web. Si la personne avait des fondamentaux pour proposer ce changement, quels sont-ils? Ensuite, j’ai décidé de faire une courte recherche sur la différence entre les deux concepts etle meilleur endroit pour commencer est, bien sûr, le dictionnaire.

Le mot « plate-forme » a de nombreuses significations, y compris celle de l’informatique. Dans le Dictionnaire Anglais de Cambridge:

 » La plate-forme décrit le type de système informatique que vous utilisez, en relation avec le type de logiciel que vous pouvez utiliser dessus. »

C’est une définition très générique, qui ne m’aide pas du tout. Alors, je suis allé Àkipedia, où j’ai trouvé une définition sans aucune alerte sur ses sources ou sa partialité:

 » En informatique, une plate-forme décrit une sorte d’architecture matérielle ou de cadre logiciel (y compris les cadres d’application), qui permet à un logiciel de s’exécuter. Les plates-formes typiques comprennent l’architecture, le système d’exploitation, les langages de programmation et les bibliothèques d’exécution associées ou l’interface utilisateur graphique d’un ordinateur. »

Oh mon Dieu! Il mentionne le cadre sur la définition de la plate-forme. Est-ce une sorte de définition récursive? Eh bien, passons à la définition du cadre:

 » Un framework logiciel est une conception réutilisable pour un système logiciel (ou un sous-système). Un framework logiciel peut inclure des programmes de support, des bibliothèques de code, un langage de script ou d’autres logiciels pour aider à développer et à coller ensemble les différents composants d’un projet logiciel. Diverses parties du framework peuvent être exposées via une API. »

Eh bien, mieux! Analysons les différences. Premièrement: framework se réfère uniquement àlogiciel et ignore totalement le matériel. Donc, si vous travaillez avec du matériel, il n’aura jamais de cadre. Deuxièmement: une plate-forme permet à un logiciel de fonctionner, ce qui n’est pas une exigence de cadre, car il est plus axé sur la conception. Par exemple, Java est une plate-forme car elle dispose d’une machine virtuelle qui permet à Javaapplications de s’exécuter dans de nombreux systèmes d’exploitation. D’un autre côté, Spring est un cadre car il simplifie la façon dont vous concevez un logiciel, en prenant la responsabilité de beaucoup de choses pour réduire l’effort et le volume de code requis pour implémenter l’application. Ainsi, une plate-forme ne vise pas à vous faire gagner du temps, mais à vous donner une ou plusieurs possibilités d’exécuter votre application.

Pour en revenir à la racine de la discussion, j’ai eu une longue conversation avec le développeur principal de l’OpenInterface (OI), Lionel Lawson, et nous avons conclu qu’I est à la fois une plate-forme et un framework. Cela signifie que, lorsqueplatform, OI peut exécuter votre application dessus. Lorsque framework, votre applicationpeut utiliser l’API de l’OI pour accéder à d’autres composants. Ensuite, nous avons conclu que l’OI est en fait une technologie plus générique qui résout de nombreux problèmes d’intégration entre composants de bas niveau.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.