it-swarm.com.de

Unterschied zwischen Framework vs Library vs IDE vs API vs SDK vs Toolkits?

Ich möchte einige Beispiele. Ich bin immer verwirrt, daher kann ich es mit einigen Beispielen vielleicht besser herausfinden.

Außerdem: Ist Eclipse eine API oder IDE?

136
Manoj hans

Ein IDE ist eine integrierte Entwicklungsumgebung - ein erweiterter Texteditor mit zusätzlicher Unterstützung für das Entwickeln (z. B. Formulardesigner, Ressourceneditoren usw.), Kompilieren und Debuggen von Anwendungen. z. B. Eclipse, Visual Studio.

Ein Bibliothek ist ein Codeabschnitt, den Sie aus Ihrem eigenen Code aufrufen können, um Dinge schneller/einfacher zu erledigen. Beispielsweise bietet eine Bitmap-Verarbeitungsbibliothek Funktionen zum Laden und Bearbeiten von Bitmap-Bildern, sodass Sie den gesamten Code nicht selbst schreiben müssen. In der Regel bietet eine Bibliothek nur einen Funktionsbereich (Verarbeiten von Bildern oder Bearbeiten von Zip-Dateien).

Ein API (Anwendungsprogrammierschnittstelle) ist ein Begriff, der die Funktionen/Methoden in einer Bibliothek bezeichnet, die Sie aufrufen können, um sie aufzufordern, Dinge für Sie zu tun - die Schnittstelle zur Bibliothek.

Ein SDK (Software Development Kit) ist eine Bibliothek oder eine Gruppe von Bibliotheken (häufig mit zusätzlichen Toolanwendungen, Datendateien und Beispielcode), die Sie beim Entwickeln von Code unterstützen das ein bestimmtes System verwendet (z. B. Erweiterungscode zur Verwendung von Funktionen eines Betriebssystems (Windows SDK), zum Zeichnen von 3D-Grafiken über ein bestimmtes System (DirectX SDK), zum Schreiben von Add-Ins zur Erweiterung anderer Anwendungen (Office SDK) oder zum Schreiben von Code Lassen Sie ein Gerät wie ein Arduino oder ein Mobiltelefon tun, was Sie wollen. Ein SDK hat normalerweise immer noch einen einzigen Fokus.

Ein Toolkit ist wie ein SDK - es ist eine Gruppe von Tools (und häufig auch Codebibliotheken), mit denen Sie den Zugriff auf ein Gerät oder System vereinfachen können und Anwendungen als nur auf Code-Bibliotheken.

Ein Framework ist eine große Bibliothek oder eine Gruppe von Bibliotheken, die viele Dienste bereitstellt (und nicht wie die meisten Bibliotheken/SDKs nur eine bestimmte Fähigkeit). Zum Beispiel bietet .NET ein Anwendungsframework - es erleichtert die Verwendung der meisten (wenn nicht aller) unterschiedlichen Dienste (z. B. Windows, Grafik, Druck, Kommunikation usw.), die Sie zum Schreiben einer Vielzahl von Anwendungen benötigen "library" bietet Unterstützung für so ziemlich alles, was Sie tun müssen. Häufig stellt ein Framework eine vollständige Basis bereit, auf der Sie Ihren eigenen Code erstellen, anstatt eine Anwendung zu erstellen, die Bibliothekscode verwendet, um Teile ihrer Arbeit zu erledigen.

Es gibt natürlich viele Beispiele in freier Wildbahn, die diesen Beschreibungen jedoch nicht genau entsprechen.

278
Jason Williams

Die Auto-Analogie

enter image description here

IDE: Das MS Office of Programming. Hier geben Sie Ihren Code sowie einige zusätzliche Funktionen ein, die Sie zu einem glücklicheren Programmierer machen. (z. B. Eclipse, Netbeans). Karosserie: Es ist das, was Sie wirklich berühren, sehen und bearbeiten.

Bibliothek: Eine Bibliothek ist eine Sammlung von Funktionen, die häufig in mehreren Programmdateien zusammengefasst, jedoch in einer einzigen Archivdatei zusammengefasst sind. Es enthält Programme, die von anderen Leuten erstellt wurden, damit Sie das Rad nicht neu erfinden müssen. (z. B. junit.jar, log4j.jar). Eine Bibliothek hat im Allgemeinen eine Schlüsselrolle, erledigt jedoch ihre gesamte Arbeit hinter den Kulissen und verfügt nicht über eine GUI. Automotor

API: Die Dokumentation des Bibliotheksherausgebers. So sollten Sie meine Bibliothek verwenden. (z. B. log4j API , junit API). Bedienungsanleitung des Autos - ja, Autos haben auch eine!


Kits

Was ist ein Bausatz? Es ist eine Sammlung von vielen verwandten Elementen, die zusammenarbeiten, um einen bestimmten Service bereitzustellen. Wenn jemand Medizin-Kit sagt, bekommen Sie alles, was Sie für einen Notfall brauchen: Pflaster, Aspirin, Gaze und Antiseptikum usw.

enter image description here

[~ # ~] sdk [~ # ~] : McDonald's Happy Meal. Sie haben alles, was Sie brauchen (und nicht brauchen) ordentlich verpackt: Hauptgericht, Getränk, Dessert und ein Bonus-Spielzeug. Ein SDK besteht aus einer Reihe verschiedener Softwarekomponenten, die in einem Paket zusammengefasst sind, sodass sie sofort einsatzbereit sind. Es enthält oft mehrere Bibliotheken und can, muss aber nicht unbedingt Plugins, API-Dokumentation und sogar ein IDE selbst. (ZB iOS Development Kit) ).

Toolkit : GUI. GUI. GUI. Wenn Sie 'Toolkit' in einem Programmierkontext hören, wird häufig auf eine Reihe von Bibliotheken verwiesen, die für die GUI-Entwicklung vorgesehen sind. Da Toolkits auf die Benutzeroberfläche ausgerichtet sind, werden sie häufig mit Plug-ins (oder eigenständigen IDEs) geliefert, die Dienstprogramme zum Zeichnen von Bildschirmen bieten. (z. B. GWT )

Framework : Ein Framework kann als Kit betrachtet werden, obwohl es nicht der vorherrschende Begriff ist. Es hat auch eine Bibliothek (oder eine Sammlung von Bibliotheken, die zusammenarbeiten), die eine bestimmte Codierungsstruktur und ein bestimmtes Codierungsmuster bereitstellt (daher das Wort Framework). (z. B. Spring Framework)

92
Jops

Betrachten Sie Android Entwicklung:

IDE: Eclipse etc ..

Bibliothek: Android.app.Activity-Bibliothek (Klasse mit allem Code)

API: Interface im Grunde alle Funktionen mit denen wir aufrufen

SDK: Das Android SDK bietet Ihnen die API-Bibliotheken und Entwicklertools, die zum Erstellen, Testen und Debuggen von Apps für Android (---- tools - DDMS erforderlich sind , Emulator ---- Plattformen - Android Betriebssystemversionen, ---- Plattformtools - ADB, ---- API-Dokumente)

ToolKit: Könnte ADT Bundle sein

Framework: Große Bibliothek, aber mehr auf Architektur ausgerichtet

5
ashishpinninti

Mit anderen Worten...

IDE Auch Ihr Notizblock ist eine IDE. Jede Software, mit der Sie Code schreiben/kompilieren, ist eine IDE.

Bibliothek Eine Reihe von Code, der Funktionen/Methoden für die schnelle Verwendung vereinfacht.

API Eine Programmierschnittstelle für Funktionen/Konfigurationen, mit denen Sie arbeiten, deren Verwendung häufig dokumentiert wird.

SDK Extras und/oder zu Entwicklungs-/Testzwecken.

ToolKit Winzige Apps für den schnellen Gebrauch, häufig GUIs.

GUI Für Apps mit grafischer Oberfläche sind im Gegensatz zu APIs keine Programmierkenntnisse erforderlich.

Framework Eine Reihe von APIs/großen Bibliotheken/Snippets, die in einen Namespace eingeschlossen oder aus dem Geltungsbereich heraus eingekapselt sind, für eine kompakte Handhabung ohne Konflikte mit anderem Code.

MVC Ein in Modelle, Ansichten und Controller getrenntes Entwurfsmuster für umfangreiche Anwendungen. Sie sind nicht voneinander abhängig und können geändert/verbessert/ersetzt werden, ohne sich um anderen Code zu kümmern.

Beispiel:

Auto (Modell)
Das Objekt, das präsentiert wird.
Beispiel in der IT: Ein HTML-Formular.


Kamera (Ansicht)
Etwas, das das Objekt (Auto) sehen kann.
Beispiel in der IT: Browser, der eine Website mit dem Formular rendert.


Treiber (Controller)
Jemand, der dieses Auto fährt.
Beispiel in der IT: Funktionen, die übermittelte Formulardaten verarbeiten.

Snippets Kleine Codes mit nur wenigen Zeilen, möglicherweise nicht vollständig, aber für einen schnellen Austausch wert.

Plug-ins Exklusive Funktionen nur für angegebene Frameworks/APIs/Bibliotheken.

Add-ons Zusätzliche Module oder Dienste für bestimmte GUIs.

2
Thielicious

SDK steht für das Software Development Kit und IDE steht für die integrierte Entwicklungsumgebung. IDE ist die Software oder das Programm, mit der geschrieben, kompiliert, ausgeführt, Das SDK ist die zugrunde liegende Engine der IDE und enthält alle Bibliotheken der Plattform, auf die eine App zugreifen muss. Es ist einfacher als ein IDE), da es normalerweise keine grafische Oberfläche hat Werkzeuge.

2
Haitham