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

Copier l'URL

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 tel que Java.

Découvrir un kit de développement logiciel Open Source

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 création de structure d'application de base 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. 

En savoir plus sur le fonctionnement des opérateurs Kubernetes et leur processus de développement

Ressources Red Hat

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. 

Avant de pouvoir utiliser certains SDK, les utilisateurs doivent parfois accepter 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. 

Les bases du développement et de la distribution d'applications

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 a tout prévu.

 
Hub

Le blog officiel de Red Hat

Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits Red Hat pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

Red Hat OpenShift pour les ingénieurs de plateforme

Red Hat OpenShift offre aux ingénieurs de plateforme les outils nécessaires pour créer et gérer efficacement les plateformes de développement internes.

La migration d'applications, qu'est-ce que c'est ?

La migration d'applications est un processus capable d'améliorer les charges de travail en déplaçant une application logicielle d'un environnement à un autre.

Une architecture d'application, ou architecture applicative, qu'est-ce que c'est ?

Une architecture d'application, ou architecture applicative, décrit les modèles et les techniques utilisés pour concevoir et créer une application bien structurée.

Développement et distribution d'applications : ressources recommandées