Estoy tratando de explicarle a un no desarrollador la diferencia entre una API y un SDK. Necesito explicar por qué un proveedor comercial de software de huellas dactilares probablemente no proporcionará un SDK, aunque ciertamente pueden haber usado uno.
Tanto los proveedores de dispositivos como los proveedores de software pueden y deben exponer una API bien definida. Esta API permite que otros programas de software interactúen con los componentes de software o dispositivos de hardware del proveedor.
Si alguien tiene más ideas para explicar esto claramente, agradecería mucho las sugerencias. Quiero enfatizar que el objetivo es explicar los conceptos a un no programador que no conoce la jerga del desarrollador .
Específicamente, en el contexto de un sensor de huellas digitales versus software para hacer la inscripción / verificación, así es como intenté explicarlo:
Si soy un fabricante de dispositivos / sensores de huellas digitales y no estoy en el negocio de escribir software, las formas en que podría comercializar mejor mi producto son:
- Asegúrese de que los controladores de mis dispositivos se puedan instalar en una amplia variedad de sistemas operativos
- Definir y proporcionar una API para que los desarrolladores de software escriban programas (por ejemplo, para inscripción, verificación) para "hablar" o usar mi dispositivo
- Desarrollar y proporcionar un SDK (un paso más allá de una API) para que sea más fácil y rápido para los desarrolladores de software escribir programas que funcionen con mi dispositivo. Los SDK pueden proporcionar bibliotecas de código auxiliar, aplicaciones de referencia, documentación, etc.