La différence entre un API et SDK
Je suis en train d'expliquer à un non-développeur de la différence entre une API SDK. J'ai besoin d'expliquer pourquoi un commercial fingerprint software fournisseur ne sera probablement pas fournir un SDK, mais ils peuvent certainement avoir utilisé un.
À la fois les fournisseurs de matériels et éditeurs de logiciels peut et doit exposer un bien définis par l'API. Cette API permet à d'autres programmes de logiciel pour (être écrit à inter-opérer avec le fournisseur du logiciel des composants ou des périphériques matériels.
Si quelqu'un a plus d'idées pour expliquer cela clairement, je serais très heureux de la des suggestions. Je tiens à souligner que l'objectif est d'expliquer les concepts à un non-programmeur qui ne sait pas développeur lingo.
Précisément, dans le cadre d'un capteur d'empreintes digitales versus logiciel d'inscription/de vérification, voici comment j'ai tenté de l'expliquer:
Si je suis un lecteur d'empreintes digitales/fabricant de capteurs et non pas dans le
entreprise de logiciels de rédaction, les façons que je pouvais mieux marché mon
produit:
- Assurez-vous que mes pilotes de périphérique installable sur une grande variété de systèmes d'exploitation
- De définir et de fournir une API pour les développeurs de logiciels à écrire des programmes (par exemple, pour l'enregistrement, vérification) pour “parler” ou de l'utilisation de mon
appareil- De développer et de fournir un kit de développement logiciel (une étape au-delà d'une API) pour le rendre plus facile et plus rapide pour les développeurs de logiciels d'écrire des programmes qui fonctionnent
avec mon appareil. Sdk peut fournir helper bibliothèques de code, la référence
applications, documentation, etc.
Vous devez vous connecter pour publier un commentaire.
Morceau de gâteau:
*Tout peut utiliser une API. Certaines APIs ont des dispositions en matière de sécurité à exiger des clés de licence, de l'authentification, etc. qui peut interdire à une utilisation complète de l'API, dans certains cas particuliers, mais c'est seulement parce que notamment l'authentification/autorisation ne parvenez pas. Tout logiciel qui présente les identifiants d'accès (si nécessaire) peut utiliser l'API.
**Techniquement, si une API est bien documenté, vous n'avez pas besoin d'un kit de développement pour construire votre propre logiciel de l'utilisation de l'API. Mais avoir un kit de développement logiciel en général, rend le processus beaucoup plus facile.
API est comme les blocs de construction de certains déroutante jeu que l'enfant joue avec les à se joindre à des blocs de différentes formes et de construire quelque chose qu'ils peuvent penser.
SDK, d'autre part, est un atelier où tous les outils de développement sont disponibles, plutôt que d'avant en forme de blocs de construction. Dans un atelier, vous avez la réelle outils et vous n'êtes pas limité à des blocs, et peut donc faire vos propres blocs, ou peut créer quelque chose sans aucune blocs pour commencer.
de codage sans un kit de développement logiciel ou de l'API est comme faire tout à partir de zéro, sans un atelier, vous devez même faire vos propres outils
not limited to blocks, or can create something without any blocks to begin with
, de plus en plus comme le SDK qui vous offre un meilleur compositions de l'API de blocs de travailler avec. SDK s'appuie sur une API.Supposons que la société C, qui propose des produit de P et de P implique un logiciel, d'une certaine façon. Alors C peut vous offrir une bibliothèque ou un ensemble de bibliothèques pour que les développeurs de logiciels lecteur P de systèmes logiciels.
Que la bibliothèque et les bibliothèques sont un SDK. Il fait partie des systèmes de P. C'est un kit pour les développeurs de logiciels à utiliser dans le but de les modifier, de les configurer, de les corriger, améliorer, etc le logiciel de pièce de P.
Si C veut offrir P fonctionnalité à d'autres entreprises/systèmes, il le fait avec une API.
C'est une interface pour P. Un moyen pour les systèmes externes pour interagir avec P.
Si vous pensez en termes de mise en œuvre, ils semblent assez similaires. Surtout maintenant que l'internet est devenu comme un grand système d'exploitation distribué.
Dans le but, bien que, en réalité, ils sont tout à fait distinctes.
Vous construire quelque chose avec un kit de développement logiciel et de l'utiliser ou de consommer quelque chose avec une API.
Interface de Programmation d'Application est un ensemble de routines de données/structures/classes qui spécifie un moyen d'interagir avec la plate-forme cible/un logiciel comme OS X, Android, application de gestion de projet, logiciel de virtualisation etc.
Tout Kit de Développement Logiciel est un wrapper autour de l'API/s qui rend le travail plus facile pour les développeurs.
Par exemple, le kit SDK d'Android facilite aux développeurs d'interagir avec la plate-forme Android dans son ensemble, tandis que la plate-forme elle-même est construit en composite composants logiciels de communication via des Api.
Aussi, parfois, les Kits sont construits pour faciliter le développement d'un langage de programmation particulier. Par exemple, Le sélénium web pilote (construit en Java) fournit des Api de lecteur de n'importe quel navigateur natif, tandis que capybara peut être considéré comme un kit de développement qui facilite les développeurs Ruby à l'utilisation de Sélénium web de chauffeur. Cependant, le Sélénium web pilote est également un SDK par lui-même, car il combine l'interaction avec diverses navigateur natif pilotes en un seul paquet.
Je ne suis pas sûr qu'il y a aucune définition officielle de ces deux termes. Je comprends une API pour être un ensemble de documentés programmable bibliothèques et de soutien source, tels que les en-têtes ou des fichiers IDL. Kits contiennent généralement des Api, mais souvent souvent ajouter des compilateurs, des outils et des exemples pour le mix.
API est des spécifications sur la façon de faire quelque chose, une interface, tels que "Les voies de chemin de fer sont quatre pieds de distance, et la barre de métal qui est de 1 pouce de large" Maintenant que vous avez l'API, vous pouvez maintenant construire un train qui s'adaptent sur les voies de chemin de fer si vous voulez aller n'importe où. L'API est juste de l'information sur la façon de construire votre code, il ne fait rien.
SDK est un paquet de réels outils déjà inquiet au sujet de la norme. "Voici un train, du charbon, et un homme d'entretien. L'utiliser pour aller d'un endroit à un" Avec ce kit, vous n'avez pas à vous soucier des détails. Un SDK est code, il peut être utilisé par lui-même de faire quelque chose, mais bien sûr, le train ne démarre pas spontanément, vous avez encore à obtenir un conducteur de contrôler la vitesse du train.
Kits de développement ont aussi leurs propres Api. "Si vous voulez pouvoir le train de mettre du charbon dans la elle", "Tirez sur le levier bleu pour déplacer le train.", "Si le train commence à agir drôle, appeler la maintenance de l'homme" etc.
API = Dictionnaire de la disposition des mots et de leur sens (et de la grammaire à combiner entre eux)
SDK = UN système de traitement de texte... pour 2 ans bébés... qui écrit droit d'idées
Bien que vous POURRIEZ aller à l'école et devenir un maître dans votre langue après quelques années, en utilisant le SDK va vous aider à écrire un ensemble de phrases significatives en un rien de temps (Pardonner le fait que, dans cet exemple, comme un bébé, vous n'avez même pas eu à apprendre une autre langue pour au moins apprendre à utiliser le SDK).
Comment... C'est comme si vous vouliez installer un système home cinéma dans votre maison. À l'aide d'une API, c'est comme avoir tous les fils, des vis, des morceaux et des morceaux. Les possibilités sont infinies (uniquement limité par les pièces que vous recevez), mais parfois écrasante. Un SDK est comme obtenir un kit. Vous avez encore de les mettre ensemble, mais il ressemble plus à obtenir des pièces pré-coupées et des instructions pour un IKEA étagère qu'une boîte de vis.
Vous utilisez un kit de développement SDK pour accéder à la fonctionnalité d'une bibliothèque, et une API pour contrôler.
API = Interface de Programmation d'Application
SDK = Kit de Développement Logiciel
Un SDK semble être un ensemble complet de APIs qui vous permettent d'effectuer la plupart n'importe quelle action que vous auriez besoin pour créer des applications. En outre, un SDK peut inclure d'autres outils de développement pour la plate-forme/point qu'il est pour.
Un API sur l'autre main est juste une série de méthodes qui peuvent être bons
pour un but précis.
Comme un exemple, le JDK (Java Development Kit) contient l'API ainsi que les compilateurs, les durées de fonctionnement, et de divers autres outils. L'API Java est tout simplement de toutes les bibliothèques qui constituent le langage de base que vous pouvez travailler avec la sortie de la boîte.
Exemples d'Api: API Java,
L'API Google Maps,
API de Flash Player.
Exemples du Sdk: JDK,
GWT,
Kit SDK de Flex.