Estou tentando explicar para um não desenvolvedor a diferença entre uma API e um SDK. Preciso explicar por que um fornecedor comercial de software de impressão digital provavelmente não fornecerá um SDK, embora possa certamente ter usado um.
Tanto os fornecedores de dispositivos quanto os de software podem e devem expor uma API bem definida. Essa API permite que outros programas de software interajam com os componentes de software ou dispositivos de hardware do próprio fornecedor.
Se alguém tiver mais idéias para explicar isso claramente, eu agradeceria muito as sugestões. Quero enfatizar que o objetivo é explicar os conceitos para um não programador que não conhece a linguagem do desenvolvedor .
Especificamente, no contexto de um sensor de impressão digital versus software para fazer inscrição / verificação, eis como eu tentei explicar:
Se eu sou um fabricante de dispositivos / sensores de impressão digital e não faço parte do ramo de software de escrita, as maneiras pelas quais eu poderia comercializar melhor meu produto são:
- Verifique se meus drivers de dispositivo são instaláveis em uma ampla variedade de sistemas operacionais
- Defina e forneça uma API para os desenvolvedores de software escreverem programas (por exemplo, para inscrição, verificação) para "conversar" ou usar meu dispositivo
- Desenvolva e forneça um SDK (um passo além da API) para tornar mais fácil e rápido para os desenvolvedores de software escrever programas que funcionem com o meu dispositivo. Os SDKs podem fornecer bibliotecas de códigos auxiliares, aplicativos de referência, documentação etc.