Différence entre framework vs Library vs IDE vs API vs SDK vs Toolkits?

Je veux des exemples. Je suis toujours confus, donc avec quelques exemples je pourrais être en mesure de mieux comprendre.

Également, Eclipse est-il une API ou un IDE?

Un environnement de développement intégré ( IDE) est un environnement de développement intégré – un éditeur de texte supprimé avec un support supplémentaire pour le développement (tels que les concepteurs de formulaires, les éditeurs de ressources, etc.), la compilation et le débogage des applications. Par exemple, Eclipse, Visual Studio.

Une bibliothèque est un morceau de code que vous pouvez appeler à partir de votre propre code pour vous aider à faire les choses plus rapidement / facilement. Par exemple, une bibliothèque de traitement de bitmap fournira des fonctionnalités pour charger et manipuler des images bitmap, vous évitant ainsi d’écrire tout ce code pour vous-même. Généralement, une bibliothèque n’offre qu’un seul domaine de fonctionnalité (traitement des images ou utilisation de fichiers zip)

Une API (interface de programmation d’application) est un terme qui désigne les fonctions / méthodes d’une bibliothèque que vous pouvez appeler pour lui demander de faire des choses pour vous – l’interface avec la bibliothèque.

Un kit de développement logiciel ( SDK ) est une bibliothèque ou un groupe de bibliothèques (souvent avec des applications d’outils supplémentaires, des fichiers de données et des exemples de code) qui vous aident à développer du code utilisant un système particulier Windows SDK), dessiner des graphiques 3D via un système particulier (DirectX SDK), écrire des compléments pour étendre d’autres applications (Office SDK) ou écrire du code pour créer un périphérique comme un Arduino ou un téléphone portable fait ce que vous voulez. Un SDK aura toujours un focus unique.

Une boîte à outils est comme un SDK – c’est un groupe d’outils (et souvent de bibliothèques de codes) que vous pouvez utiliser pour faciliter l’access à un périphérique ou à un système … .

Un framework est une grande bibliothèque ou un groupe de bibliothèques qui fournit de nombreux services (plutôt qu’une seule capacité ciblée, comme le font la plupart des bibliothèques / SDK). Par exemple, .NET fournit un cadre d’application – il facilite l’utilisation de la plupart (voire de la totalité) des services disparates dont vous avez besoin (Windows, graphiques, impression, communications, etc.) pour écrire un large éventail d’applications. “library” supporte à peu près tout ce que vous devez faire. Souvent, un framework fournit une base complète sur laquelle vous construisez votre propre code, plutôt que de créer une application qui consum du code de bibliothèque pour effectuer une partie de son travail.

Il y a bien sûr de nombreux exemples dans la nature qui ne correspondront pas exactement à ces descriptions.

L’analogie de la voiture

entrer la description de l'image ici

IDE: Office of Programming de MS. C’est là que vous tapez votre code, ainsi que des fonctionnalités supplémentaires pour vous faire un programmeur plus heureux. (par exemple Eclipse, Netbeans ). Carrosserie: c’est ce que vous touchez, voyez et travaillez.

Bibliothèque: une bibliothèque est un ensemble de fonctions, souvent regroupées dans plusieurs fichiers de programme, mais regroupées dans un seul fichier d’archive. Cela contient des programmes créés par d’autres personnes, de sorte que vous n’avez pas à réinventer la roue. (par exemple, junit.jar, log4j.jar ). Une bibliothèque a généralement un rôle clé, mais fait tout son travail en coulisse, sans interface graphique. Le moteur de la voiture

API: la documentation de l’éditeur de la bibliothèque. Voici comment vous devriez utiliser ma bibliothèque. (par exemple , API log4j, API junit ). Manuel d’utilisation de la voiture – oui, les voitures en ont aussi une!


Kits

Qu’est-ce qu’un kit? C’est une collection de nombreux éléments connexes qui fonctionnent ensemble pour fournir un service spécifique. Quand quelqu’un dit trousse de médicaments, vous obtenez tout ce dont vous avez besoin pour une urgence: les plâtres, l’aspirine, la gaze et l’antiseptique, etc.

entrer la description de l'image ici

SDK : McDonald’s Happy Meal . Vous avez tout ce dont vous avez besoin (et vous n’en avez pas besoin) soigneusement emballé: plat principal, boisson, dessert et un jouet bonus. Un SDK est un ensemble de composants logiciels différents assemblés dans un package, de sorte qu’ils soient prêts à l’action dès la sortie de l’emballage. Il comprend souvent plusieurs bibliothèques et peut , mais pas nécessairement inclure des plug-ins, de la documentation API, même un IDE lui-même. (par exemple , kit de développement iOS ).

Toolkit : GUI. GUI. GUI. Lorsque vous entendez «toolkit» dans un contexte de programmation, il est souvent fait référence à un ensemble de bibliothèques destinées au développement de l’interface graphique. Les toolkits étant centrés sur l’interface utilisateur, ils sont souvent fournis avec des plug-ins (ou des IDE autonomes) fournissant des utilitaires de peinture d’écran. (par exemple, GWT )

Cadre : Bien que n’étant pas la notion courante, un cadre peut être considéré comme un kit. Il a également une bibliothèque (ou un ensemble de bibliothèques qui fonctionnent ensemble) qui fournit une structure et un modèle de codage spécifiques (donc le mot, le framework ). (par exemple, cadre de spring)

Considérer le développement Android:

IDE: Eclipse etc.

Bibliothèque: Bibliothèque android.app.Activity (Classe avec tout le code)

API: Interface essentiellement toutes les fonctions avec lesquelles nous appelons

SDK: Le SDK Android vous fournit les bibliothèques d’API et les outils de développement nécessaires pour créer, tester et déboguer des applications pour Android (—- outils – DDMS, plates-formes émulateur —- – versions Android OS, —- outils de plate-forme – ADB, —- API docs)

ToolKit: pourrait être ADT Bundle

Framework: Big library mais plus d’architecture

SDK représente le kit de développement logiciel et IDE représente l’environnement de développement intégré. L’IDE est le logiciel ou le programme est utilisé pour écrire, comstackr, exécuter et déboguer tel que Xcode. Le SDK est le moteur sous-jacent de l’EDI. Il comprend toutes les bibliothèques de la plateforme auxquelles une application doit accéder. C’est plus fondamental qu’un IDE car il ne dispose généralement pas d’outils graphiques.

En d’autres termes…

IDE Même votre bloc-notes est un IDE. Chaque logiciel avec lequel vous écrivez / comstackz du code est un IDE.

Bibliothèque Un tas de code qui simplifie les fonctions / méthodes pour une utilisation rapide.

API Une interface de programmation pour les fonctions / configurations avec lesquelles vous travaillez, son utilisation est souvent documentée.

SDK Extras et / ou à des fins de développement / test.

ToolKit Tiny applications pour une utilisation rapide, souvent des interfaces graphiques.

GUI Apps avec une interface graphique, ne nécessite aucune connaissance de la programmation contrairement aux API.

Framework Un tas d’API / de grande bibliothèque / d’extraits de code encapsulés dans un espace de noms / ou encapsulés depuis une scope externe pour une gestion compacte sans conflits avec d’autres codes.

MVC Un modèle de conception séparé en modèles, vues et contrôleurs pour les applications volumineuses. Ils ne dépendent pas les uns des autres et peuvent être modifiés / améliorés / remplacés sans prendre en charge les autres codes.

Exemple:

Modèle de voiture)
L’object qui est présenté.
Exemple en informatique: un formulaire HTML.

Vue de la caméra)
Quelque chose qui est capable de voir l’object (voiture).
Exemple dans IT: Navigateur qui rend un site Web avec le formulaire.

Pilote (contrôleur)
Quelqu’un qui conduit cette voiture.
Exemple dans IT: Fonctions qui traitent les données de formulaire soumises.

Snippets Les petits codes de quelques lignes seulement ne sont peut-être même pas complets, mais valent pour un partage rapide.

Plug-ins Fonctions exclusives pour les frameworks / API / bibliothèques spécifiés uniquement.

Modules complémentaires Services ou modules supplémentaires pour des interfaces graphiques spécifiques.