web-dev-qa-db-fra.com

Différence entre framework vs bibliothèque vs IDE vs API vs SDK vs Toolkits?

Je veux des exemples. Je suis toujours confus, alors avec quelques exemples, je pourrais peut-être mieux comprendre.

Aussi: Eclipse est-il une API ou un IDE?

136
Manoj hans

Un IDE est un environnement de développement intégré - un éditeur de texte intégré offrant un support supplémentaire pour le développement (concepteurs de formulaires, éditeurs de ressources, etc.), la compilation et débogage d'applications. Par exemple, Eclipse, Visual Studio.

A Library 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 installations pour le chargement et la manipulation d’images bitmap, ce qui vous évitera d’écrire tout ce code. En règle générale, une bibliothèque n'offre qu'un seul domaine de fonctionnalités (traitement des images ou exploitation sur des fichiers Zip).

Un 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 quelque chose pour vous - l'interface à la bibliothèque.

Un SDK (kit de développement logiciel) est une bibliothèque ou un groupe de bibliothèques (souvent avec des applications supplémentaires, des fichiers de données et un exemple de code) qui vous aident à développer le code. qui utilise un système particulier (par exemple, un code d'extension pour utiliser les fonctionnalités d'un système d'exploitation (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 dans faites un appareil comme un Arduino ou un téléphone portable faire ce que vous voulez). Un SDK aura toujours généralement un seul focus.

Un toolkit est comme un SDK - c'est un groupe d'outils (et souvent de bibliothèques de code) que vous pouvez utiliser pour faciliter l'accès à un périphérique ou à un système ... Bien que l'accent soit peut-être mis sur la fourniture d'outils et des applications que sur les bibliothèques de code seulement.

Un framework est une grande bibliothèque ou un grand nombre de bibliothèques qui fournit de nombreux services (au lieu d’une seule capacité ciblée comme le font la plupart des bibliothèques/SDK). Par exemple, .NET fournit une infrastructure d’application. Elle facilite l’utilisation de la plupart (sinon de la totalité) des services disparates dont vous avez besoin (par exemple, Windows, les graphiques, l’impression, les communications, etc.) pour écrire une vaste gamme d’applications. "bibliothèque" prend en charge à 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 utilise du code de bibliothèque pour effectuer une partie de son travail.

Il existe bien sûr de nombreux exemples dans la nature qui ne correspondent pas exactement à ces descriptions.

278
Jason Williams

L'analogie de la voiture

enter image description here

IDE: MS Office de programmation. C’est là que vous tapez votre code, auquel s’ajoutent des fonctionnalités supplémentaires pour que votre programmeur soit plus heureux. (par exemple Eclipse, Netbeans). Carrosserie: c'est ce que vous touchez, voyez et travaillez vraiment.

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 effectue tout son travail en coulisse, elle n’a pas d’interface graphique. Moteur de la voiture.

API: Documentation de l'éditeur de la bibliothèque. Voici comment utiliser ma bibliothèque. (par exemple API log4j , API junit). Manuel d'utilisation de la voiture - oui, les voitures en sont accompagnées aussi!


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. Lorsque quelqu'un parle de trousse à pharmacie, vous obtenez tout ce dont vous avez besoin en cas d'urgence: pansements, aspirine, gaze et antiseptique, etc.

enter image description here

[~ # ~] sdk [~ # ~] : Bon repas de McDonald's. Vous avez tout ce dont vous avez besoin (et dont vous n’avez pas besoin) dans une boîte bien rangée: plat principal, boisson, dessert et un jouet en prime. Un SDK est un ensemble de composants logiciels différents assemblés dans un package, de sorte qu'ils sont "prêts à l'emploi" tout de suite. Il inclut souvent plusieurs bibliothèques et peut, mais ne comprend pas nécessairement les plug-ins, la documentation de l'API, même un IDE lui-même. (Par exemple Kit de développement iOS ).

Boîte à outils : interface graphique. GUI. GUI. Lorsque vous entendez "toolkit" dans un contexte de programmation, il fait souvent référence à un ensemble de bibliothèques destinées au développement d'interface graphique. Comme les kits d’outils sont centrés sur l’interface utilisateur, ils sont souvent fournis avec des plugins (ou IDE autonomes) qui fournissent des utilitaires d’écran d’affichage. (par exemple, GWT )

Cadre : Bien que ce ne soit pas la notion courante, un cadre peut être considéré comme un kit. Il possède également une bibliothèque (ou une collection de bibliothèques qui fonctionnent ensemble) qui fournit une structure et un modèle de codage spécifiques (donc le mot, framework). (par exemple, Spring Framework)

92
Jops

Envisagez 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 ce que nous appelons

SDK: Le Android Le SDK 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 , Emulator ---- plateformes - Android OS, ---- outils de plateforme - ADB, ---- docs de l'API)

ToolKit: Pourrait être ADT Bundle

Cadre: grande bibliothèque mais plus orientée architecture

5
ashishpinninti

En d'autres termes...

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

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

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

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

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

GUI Les applications avec une interface graphique ne nécessitent aucune connaissance en programmation contrairement aux API.

Framework Bouquet d'API/énorme bibliothèque/extraits encadrés dans un espace de noms/ou encapsulés à partir de la portée externe pour une gestion compacte sans conflit 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 d'autres codes.

Exemple:

voiture (modèle)
L'objet présenté.
Exemple en informatique: Un formulaire HTML.


Caméra (Voir)
Quelque chose qui est capable de voir l'objet (voiture).
Exemple en informatique: navigateur qui affiche un site Web avec le formulaire.


Pilote (contrôleur)
Quelqu'un qui conduit cette voiture.
Exemple en informatique: Fonctions qui gèrent les données de formulaire soumises.

Snippets De petits codes de seulement quelques lignes, peuvent ne pas être complets, mais valent la peine d'être partagés rapidement.

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

Add-ons Modules ou services supplémentaires pour des interfaces graphiques spécifiques.

2
Thielicious

SDK représente pour le kit de développement logiciel, et IDE représente l’environnement de développement intégré. IDE est le logiciel ou le programme est utilisé pour écrire, compiler, exécuter, et le débogage tels que Xcode.Le SDK est le moteur sous-jacent de l’EDI, il inclut toutes les bibliothèques de la plate-forme auxquelles une application doit accéder. C’est plus élémentaire qu'un IDE outils.

2
Haitham