Un kit de développement logiciel (SDK) est un ensemble d’outils fournis par le fabricant (généralement) d’une plate-forme matérielle, d’un système d’exploitation (OS) ou d’un langage de programmation. Les SDK aident les développeurs à créer des applications spécifiques à cette plate-forme, à ce système ou à ce langage de programmation. Pensez-y un peu comme le sac en plastique d’outils qui est livré avec les pièces d’une commode que vous avez achetée pour assembler vous-même. Vous avez tout ce dont vous avez besoin pour faire le travail et ce qui est inclus dans le kit varie d’un fabricant à l’autre.
En règle générale, un SDK de base comprendra un compilateur, un débogueur et des interfaces de programmation d’application (API), mais ils peuvent également inclure l’un des éléments suivants:
- Documentation
- Bibliothèques
- Editeurs
- Environnements d’exécution / de développement
- Outils de test / d’analyse
- Pilotes
- Protocoles réseau
Un bon SDK fournira tous les composants qu’un développeur pourrait juger nécessaires lors de la création d’applications pour ce produit spécifique. Certains SDK comprendront également un exemple ou un projet de test de base pour aider les développeurs à démarrer le plus rapidement possible.
Quelques exemples de kits de développement logiciel sont le kit de développement Java (JDK), le SDK Windows 7, les MacO X SDK et le SDK iPhone. À titre d’exemple spécifique, le SDK d’opérateur Kubernetes peut vous aider à développer votre propre opérateur Kubernetes. Il contient des API de haut niveau, des outils d’échafaudage et de génération de code, ainsi que des extensions pour couvrir les cas d’utilisation courants des opérateurs.
Une API est incluse dans la plupart des SDK afin de connecter de nouvelles applications ou projets au niveau du texte source. Ils incluent également souvent des exemples de code, qui donnent aux développeurs des exemples de programmes et de bibliothèques pour les aider à apprendre à créer des programmes de base. À partir de là, ils peuvent passer au développement d’applications plus complexes.
Certains SDK incluent une documentation sur l’utilisation des API, ainsi que des didacticiels, des FAQ et des exemples de graphiques, car un développeur peut parfois prendre un certain temps pour apprendre à utiliser un nouveau SDK. Pour cette raison, une interface de programmation intuitive (ou une documentation plus complète) est utile pour encourager les développeurs à utiliser le programme particulier d’une entreprise au lieu de l’option d’un concurrent.
De même, un SDK peut être un excellent moyen pour une entreprise pour présenter aux développeurs leur produit et les encourager à créer des applications en utilisant leur plate-forme ou leur système d’exploitation. Pour cette raison, la plupart des SDK sont gratuits. Un développeur peut simplement les télécharger et commencer à programmer immédiatement.
Quelques éléments à prendre en compte
Certains SDK peuvent avoir des règles ou des accords qui doivent être reconnus et soumis avant de pouvoir être utilisés – en particulier pour les nouveaux produits en phase alpha ou bêta – ou pour les logiciels dont les algorithmes ne sont pas divulgués au public (non open source). Un SDK peut également faire l’objet d’un contrat de licence, afin que le logiciel créé ne soit pas publié sous une licence incompatible.
Un développeur doit prendre ces éléments en considération lorsqu’il choisit le SDK avec lequel commencer à travailler. Par exemple:
- Un SDK avec une licence propriétaire est incompatible avec le développement de logiciels open source.
- Les SDK avec une licence publique générale (GPL) ne fonctionneront pas pour développer des applications propriétaires
- Il y a des mises en garde à travailler autour d’une licence publique générale moindre (LGPL) pour les projets avec des éléments de code propriétaires.
Pourquoi choisir Red Hat?
Les applications open source sont développées en continu, par des amateurs et des professionnels, car leurs SDK permettent de coder de nouvelles conceptions et des extensions de fonctionnalités, ce qui sont ensuite partagées avec le reste de la communauté.
Red Hat rassemble les meilleurs outils, solutions et services de développement d’applications, et nous le faisons de manière open source. Que vous recherchiez une plate-forme sur laquelle créer votre application (Red Hat OpenShift), un environnement d’exécution pour les intégrer (Red Hat Runtimes) ou un environnement de développement avec tous les outils nécessaires pour développer, tester et déployer des applications ( Red Hat CodeReady Studio), Red Hat vous a couvert.