Ich versuche einem Nicht-Entwickler den Unterschied zwischen einer API und einem SDK zu erklären. Ich muss erklären, warum ein kommerzieller Anbieter von Fingerabdrucksoftware wahrscheinlich kein SDK bereitstellt, obwohl er sicherlich eines verwendet hat.
Sowohl Gerätehersteller als auch Softwareanbieter können und sollten eine genau definierte API verfügbar machen. Mit dieser API können andere Softwareprogramme mit den eigenen Softwarekomponenten oder Hardwaregeräten des Herstellers zusammenarbeiten.
Wenn jemand mehr Ideen hat, um dies klar zu erklären, würde ich mich sehr über die Vorschläge freuen. Ich möchte betonen, dass das Ziel darin besteht, die Konzepte einem Nicht-Programmierer zu erklären, der die Umgangssprache der Entwickler nicht kennt .
Im Zusammenhang mit einem Fingerabdrucksensor im Vergleich zu einer Software zur Registrierung / Überprüfung habe ich Folgendes versucht:
Wenn ich ein Hersteller von Fingerabdruckgeräten / Sensoren bin und keine Software schreibe, kann ich mein Produkt besser vermarkten:
- Stellen Sie sicher, dass meine Gerätetreiber auf einer Vielzahl von Betriebssystemen installiert werden können
- Definieren und bereitstellen Sie eine API für Softwareentwickler, um Programme zu schreiben (z. B. zur Registrierung, Überprüfung), um mit meinem Gerät zu „sprechen“ oder es zu verwenden
- Entwickeln und Bereitstellen eines SDK (ein Schritt über eine API hinaus), damit Softwareentwickler einfacher und schneller Programme schreiben können, die mit meinem Gerät funktionieren. SDKs können Hilfecodebibliotheken, Referenzanwendungen, Dokumentation usw. bereitstellen.