J'essaie d'expliquer à un non-développeur la différence entre une API et un SDK. Je dois expliquer pourquoi un fournisseur de logiciel d'empreintes digitales commercial ne fournira probablement pas de SDK, même s'il en a certainement utilisé un.
Les fournisseurs d'appareils et les éditeurs de logiciels peuvent et doivent exposer une API bien définie. Cette API permet à d'autres programmes logiciels d'interagir (sur lesquels écrire) avec les composants logiciels ou les périphériques matériels du fournisseur.
Si quelqu'un a plus d'idées pour expliquer cela clairement, j'apprécierais beaucoup les suggestions. Je tiens à souligner que le but est d'expliquer les concepts à un non-programmeur qui ne connaît pas le jargon des développeurs .
Plus précisément, dans le contexte d'un capteur d'empreintes digitales par rapport à un logiciel pour faire l'inscription / vérification, voici comment j'ai tenté de l'expliquer:
Si je suis un fabricant de dispositifs / capteurs d'empreintes digitales et que je ne suis pas dans le domaine de l'écriture de logiciels, je pourrais mieux commercialiser mon produit:
- Assurez-vous que mes pilotes de périphérique sont installables sur une grande variété de systèmes d'exploitation
- Définir et fournir une API permettant aux développeurs de logiciels d'écrire des programmes (par exemple, pour l'inscription, la vérification) pour «parler» ou utiliser mon appareil
- Développez et fournissez un SDK (une étape au-delà d'une API) pour permettre aux développeurs de logiciels d'écrire plus facilement et plus rapidement des programmes qui fonctionnent avec mon appareil. Les SDK peuvent fournir des bibliothèques de codes d'assistance, des applications de référence, de la documentation, etc.