Sto cercando di spiegare a un non sviluppatore la differenza tra un'API e un SDK. Devo spiegare perché un fornitore commerciale di software per impronte digitali non fornirà probabilmente un SDK, sebbene possa averne sicuramente utilizzato uno.
Sia i venditori di dispositivi che quelli di software possono e devono esporre un'API ben definita. Questa API consente ad altri programmi software di (essere scritti) interagire con i componenti software o i dispositivi hardware del fornitore.
Se qualcuno ha più idee per spiegarlo chiaramente, apprezzerei molto i suggerimenti. Voglio sottolineare che l'obiettivo è quello di spiegare i concetti a un non programmatore che non conosce il linguaggio degli sviluppatori .
Nello specifico, nel contesto di un sensore di impronte digitali rispetto a un software per effettuare la registrazione / verifica, ecco come ho tentato di spiegarlo:
Se sono un produttore di dispositivi / sensori di impronte digitali e non mi occupo della scrittura di software, i modi in cui potrei commercializzare meglio il mio prodotto sono:
- Assicurati che i driver del mio dispositivo siano installabili su un'ampia varietà di sistemi operativi
- Definire e fornire un'API per gli sviluppatori di software per scrivere programmi (ad esempio, per l'iscrizione, la verifica) per "parlare" o utilizzare il mio dispositivo
- Sviluppa e fornisci un SDK (un passo oltre un'API) per rendere più semplice e veloce per gli sviluppatori software la scrittura di programmi compatibili con il mio dispositivo. Gli SDK possono fornire librerie di codici di supporto, applicazioni di riferimento, documentazione ecc.