Un SDK, pour Software Development Kit, rassemble des ressources permettant de développer pour une plateforme, un appareil ou un service. Il peut comprendre des bibliothèques, des outils de compilation, de la documentation, des exemples et des moyens de test. Son contenu dépend de son objectif : créer une application mobile et intégrer un service de paiement ne demandent pas exactement les mêmes éléments.
Une API décrit les interfaces utilisables par un programme. Un SDK peut faciliter leur utilisation, mais les deux termes ne sont pas interchangeables. Un éditeur peut fournir une API accessible par le réseau et plusieurs kits adaptés à différents langages. À l’inverse, un SDK destiné à un système peut servir à construire des applications sans faire appel à un service distant particulier.
Les pages Développeurs, Programmation et Applications prolongent ce suivi. L’installation d’une nouvelle version du kit peut modifier les outils disponibles ou les règles de compilation, sans imposer immédiatement que tous les utilisateurs installent le dernier système. La version minimale prise en charge, les interfaces employées et les fonctions activées constituent des choix distincts dans un projet.
L’intégration d’un SDK ajoute également une dépendance. Il faut examiner sa provenance, sa licence, son suivi et les données auxquelles il accède. Un composant publicitaire, analytique ou cartographique peut communiquer avec ses propres serveurs au sein d’une application.
Les tests doivent donc porter sur son comportement réel, pas uniquement sur la réussite de la compilation. Les mises à jour correctives, les changements de permissions et la possibilité de remplacer le composant participent à la maintenance du logiciel dans la durée.