Connexion / Inscription Account

Applications cloud-native

Un SDK, qu'est-ce que c'est ?

Jump to section

Un kit de développement logiciel (SDK) est un ensemble d'outils fourni avec une plateforme matérielle (généralement), un système d'exploitation ou un langage de programmation. Il permet aux développeurs de logiciels de créer des applications propres à cette plateforme, ce système ou ce langage de programmation. C'est un peu comme une boîte à outils, ou comme le sachet d'outils fourni avec les éléments d'un meuble à assembler soi-même, mais pour développer une application. Il renferme tous les composants, ou outils de développement, nécessaires pour effectuer la tâche, et son contenu varie selon le fabricant. 

Un SDK de base comprend un compilateur, un débogueur et des interfaces de programmation d'application (API). Il peut également contenir tout ou partie des éléments suivants :

Un SDK doit inclure tous les composants dont un développeur a besoin afin de créer des applications pour le produit en question et son écosystème. Certains SDK contiennent également un exemple de projet ou un projet test de base pour démarrer le plus rapidement possible.

Parmi les kits de développement logiciel, on peut citer entre autres le kit de développement Java (JDK), le SDK Windows 7, le SDK MacOS X et le SDK iPhone. Le SDK de l'opérateur Kubernetes, par exemple, vous permet de développer votre propre opérateur Kubernetes. Il contient des API de haut niveau, des outils de scaffolding et de génération de code ainsi que des extensions pour couvrir les cas d'utilisation les plus fréquents de l'opérateur. 

La plupart des SDK incluent une API afin de connecter les nouvelles applications mobiles ou les nouveaux projets au niveau du texte source, dans la ligne de commande. Souvent, ils contiennent également des exemples de programmes et de bibliothèques pour que les développeurs comprennent comment développer des programmes de base. Ces derniers peuvent ensuite passer plus facilement à l'optimisation et au développement d'applications plus complexes, et apprendre à résoudre les problèmes et à ajouter de nouvelles fonctions selon les besoins.

La prise en main d'un nouveau kit de développement logiciel peut prendre du temps et c'est pourquoi certains SDK incluent de la documentation sur la manière d'utiliser les API ainsi que des tutoriels, des FAQ et des exemples d'éléments graphiques. Une interface de programmation ou une interface utilisateur simple (ou disposant d'une documentation plus complète) peut donc inciter les développeurs à choisir le programme d'une entreprise plutôt que celui de ses concurrents.

De la même manière, un SDK peut être un excellent moyen pour une entreprise de présenter ses produits aux développeurs et de les encourager à créer des applications en utilisant sa plateforme ou son système d'exploitation, en temps réel, dans un environnement de développement intégré. C'est pourquoi la plupart des SDK sont gratuits : il suffit de les télécharger pour commencer à programmer. 

Éléments à prendre en compte

Avant de pouvoir utiliser certains SDK, il peut être demandé aux utilisateurs d'accepter et de renvoyer des règles ou des accords, en particulier pour les nouveaux produits au stade alpha ou bêta, ou pour les logiciels comportant des algorithmes non publics (et donc non Open Source). Un SDK peut également faire l'objet d'un accord de licence qui empêche de diffuser le logiciel sous une licence incompatible.

Les développeurs doivent prendre en compte un certain nombre d'éléments lors du choix d'un SDK. Par exemple :

  • Un SDK sous licence propriétaire n'est pas compatible avec le développement d'un logiciel Open Source.
  • Un SDK sous licence publique générale (GPL) ne permet pas de développer des applications propriétaires.
  • L'utilisation d'un SDK sous licence publique générale amoindrie (LGPL) pour des projets avec des éléments de code propriétaire soulève quelques réserves. 

Pourquoi choisir Red Hat ?

Les applications Open Source sont développées en continu, par des amateurs et des professionnels, parce que leur SDK permet le codage de nouveaux éléments et de fonctionnalités étendues qui sont ensuite partagés avec le reste de la communauté. 

Red Hat rassemble les meilleurs outils, solutions et services pour le développement d'applications, et ce conformément au modèle Open Source. Que vous recherchiez une plateforme pour créer votre application (Red Hat OpenShift), un environnement d'exécution (Red Hat Runtimes) ou un environnement complet avec tous les outils nécessaires pour développer, tester, corriger et déployer des applications (Red Hat CodeReady Studio), Red Hat a tout prévu.

Vous ne savez pas encore tout : découvrez l'automatisation de la génération des SDK et de la documentation des API