Quelle est la différence entre une bibliothèque, un framework et une API? Ils me semblent tous identiques. J'aimerais entendre les gens y penser.
Une bibliothèque est une collection de fonctions/objets qui remplit une fonction particulière. vous pouvez utiliser une bibliothèque dans une variété de projets.
Un cadre est une collection de modèles et de bibliothèques pour vous aider à créer une application.
Une API est une interface permettant à d'autres programmes d'interagir avec votre programme sans avoir d'accès direct.
En d'autres termes, pensez à une bibliothèque comme un module complémentaire/une application, un cadre comme le squelette de l'application et une API comme une partie tournée vers l'extérieur de ladite application.
De bonnes réponses jusqu'à présent, mais ils manquent un point clé - un cadre utilise IoC . Votre code est entouré d'un cadre. Il vit à l'intérieur. En revanche, votre code utilise simplement une bibliothèque ou une API. Il vit en dehors de lui. L'IoC est la différence.
Une bibliothèque est une collection de code conçue pour effectuer des tâches courantes. Le code de bibliothèque a tendance à être relativement stable et sans bogue. L'utilisation de bibliothèques appropriées peut réduire la quantité de code à écrire. Il aura tendance à réduire le nombre de lignes de code pour une application, ce qui augmentera la vitesse à laquelle la fonctionnalité est fournie. Dans la plupart des cas, il est préférable d'utiliser une routine de bibliothèque que d'écrire votre propre code.
Une API (Application Programming Interface) est une interface avec certaines fonctionnalités qui permet à une application d'accéder aux fonctionnalités disponibles. Une API peut être appelée une interface. Les API existent à plusieurs niveaux: système, bibliothèque, framework, programme et application. Les API doivent être définies avant l'implémentation du code qui les implémente.
Les API doivent être stables, bien que certaines parties de l'API puissent être dépréciées pour diverses raisons. Plus l'API est largement utilisée, plus il est difficile de la changer. La plupart sinon la totalité de l'API Java 1.0 est toujours disponible, bien que de nombreuses méthodes soient déconseillées.
Un Framework est un ensemble d'API conçues pour simplifier la création d'applications. Les cadres fournissent des implémentations pour les composants réutilisables. Les bons cadres ont tendance à être spécialisés dans leur application.
Le Java Collections Framework est une collection d'API à divers types d'objets qui peuvent être utilisés pour gérer des collections. Il fournit une hiérarchie d'API à diverses collections. Le dans le Java Collections Framework, l'interface SortedSet étend l'interface Set qui à son tour étend l'interface Collection. Ces API sont des interfaces abstraites et les implémentations réelles ont des noms différents. Le cadre Framework Collections simplifie l'implémentation des collections et simplifie le changement des implémentations pendant le développement.
Les cadres peuvent être construits à partir de cadres plus petits comme on le voit dans le Java Spring Framework destiné au développement J2EE. Spring se compose de plus d'une douzaine de frameworks, dont beaucoup peuvent être utilisés seuls ou remplacés par d'autres cadres.
L'utilisation des bibliothèques, API et frameworks appropriés peut simplifier le développement. Ces composants prennent en charge les problèmes courants et permettent à l'équipe de développement de se concentrer sur les problèmes spécifiques à l'application.
Un cadre est une étape de la bibliothèque. Si votre boîte à outils est une bibliothèque, votre atelier serait un cadre.
Wikipédia dit
Une API est une abstraction qui décrit une interface pour l'interaction avec un ensemble de fonctions utilisées par les composants d'un système logiciel
La distinction importante entre une API et une interface utilisateur est qu'une API permet à d'autres logiciels/services d'interagir par programme avec votre solution.
Les API peuvent être construites à la fois pour des applications (via des DLL ou des plugins) ou des sites Web et des services (via REST et services Web)
Allez dans une bibliothèque et commencez à lire des livres. Si vous êtes l'application, la collection de livres est la bibliothèque. Les étagères, les placards et le complexe qui abrite tout cela constitue le cadre. Tout ce que vous entrez en contact lors de la lecture des livres est l'API.
Les API définissent comment utiliser autre chose en termes d'objets et de méthodes pouvant être utilisés à partir d'une source. Par exemple, l'intégration de Twitter ou Facebook dans un site utilise une API de Twitter ou Facebook pour garantir la mise à jour des données appropriées.
Les cadres ont tendance à être un peu plus volumineux dans un sens, car cela peut presque parfois former son propre langage. jQuery étant un exemple de framework qui a sa propre syntaxe et qui a un peu plus de poids pour entrer dans mon code dans un sens. Les cadres peuvent également être des plates-formes qui les rendent similaires aux API dans un sens, par exemple. Win32API ou .Net Framework ont chacun de nombreuses méthodes pour créer une application, il peut donc y avoir des Frameworks qui contiennent des API et des API qui sont également considérées comme des Frameworks.
Les bibliothèques ont tendance à être des fichiers binaires qui implémentent une API ou un Framework et sont donc les bits que vous devez avoir pour utiliser une API ou un Framework dans certains cas. C'est du moins ainsi que je vois ces termes et les différences entre eux.
L'application est développée à l'aide de bibliothèques basées sur un framework et communique via une API.
Si vous créez une application, par exemple une application de traitement d'images en ligne,
Lorsqu'un appel arrive dans votre application
à l'appelant
raisons pour lesquelles celles-ci existent:
Une bibliothèque est une collection de code qui est utilisée pour simplifier les tâches courantes - il peut s'agir de classes, de fonctions ou de tout ce qui est spécifique à votre langage ou à votre plateforme. Un bon exemple pourrait être une bibliothèque de manipulation de chaînes qui fournit des aides pour les tâches courantes (construction, fractionnement, recherche ou tri de chaînes, etc.).
Une API (interface de programmation d'application) est une définition ("interface") de la façon de travailler avec une autre application, système ou technologie. Il définit essentiellement les opérations disponibles pour interagir avec cet autre système. Une API peut être une bibliothèque (ce qui signifie que l'API est enveloppée dans une bibliothèque ou un ensemble de classes), mais la distinction est qu'une API fait toujours référence à un système externe - qu'il s'agisse d'une base de données, d'un service Web, d'une autre application ou du système d'exploitation lui-même.
Un Framework est un concept plus large - il contiendra normalement un certain nombre de bibliothèques et d'API pour effectuer des tâches courantes. Il existe à un niveau conceptuel plus élevé - ce n'est pas seulement une collection d'outils, mais aussi une collection de modèles de conception, de meilleures pratiques et de méthodologies. Un cadre logiciel est une extension d'un cadre général cadre - ses significations incluent être une fondation à partir de laquelle les choses sont construites, fournir un support et une structure, et donner des conseils et une définition aux exigences.