Jump to section

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

Copier l'URL

Simplifiez la gestion et maximisez votre ROI grâce à une approche cloud cohérente

Téléchargez le guide stratégique du MIT Sloan Management Review et découvrez comment simplifier la gestion et maximiser votre ROI en adoptant une approche cloud cohérente.

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.

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 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.

 

Pour aller plus loin

ARTICLE

Stateful et stateless : quelle est la différence ?

Les qualificatifs « stateful » ou « stateless » dépendent de la durée pendant laquelle l'état de l'interaction avec un élément est enregistré ainsi que de la manière dont cette information doit être stockée.

ARTICLE

Quarkus, qu'est-ce que c'est ?

Quarkus est une pile Java native pour Kubernetes conçue pour les machines virtuelles Java (JVM) et la compilation native, qui permet d'optimiser Java spécifiquement pour les conteneurs.

ARTICLE

Le serverless ou informatique sans serveur, qu'est-ce que c'est ?

Le serverless est un modèle de développement cloud-native qui permet aux développeurs de créer et d'exécuter des applications sans avoir à gérer des serveurs.

En savoir plus sur les applications cloud-native

Produits

Une plateforme d'applications d'entreprise comprenant un ensemble unifié de services testés conçus pour distribuer des applications sur votre choix d'infrastructure.

Ressources

Formations

Formation gratuite

Développement d'applications cloud-native avec des architectures de microservices