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?
api
frameworks
sdk
ide
terminology
Manoj Hans
quelle
quelle
Antworten:
Eine 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. zB Eclipse, Visual Studio.
Eine Bibliothek ist ein Teil des Codes, den Sie aus Ihrem eigenen Code heraus aufrufen können, um Dinge schneller / einfacher erledigen zu können. Beispielsweise bietet eine Bitmap-Verarbeitungsbibliothek Funktionen zum Laden und Bearbeiten von Bitmap-Bildern, sodass Sie den gesamten Code nicht selbst schreiben müssen. Normalerweise bietet eine Bibliothek nur einen Funktionsbereich (Verarbeitung von Bildern oder Bearbeiten von Zip-Dateien).
Eine API (Application Programming Interface) ist ein Begriff, der die Funktionen / Methoden in einer Bibliothek bezeichnet, die Sie aufrufen können, um sie zu bitten, 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 bei der Entwicklung von Code unterstützen, der ein bestimmtes System verwendet (z. B. Erweiterungscode für die Verwendung von Funktionen eines Betriebssystems). Windows SDK), Zeichnen von 3D-Grafiken über ein bestimmtes System (DirectX SDK), Schreiben von Add-Ins zur Erweiterung anderer Anwendungen (Office SDK) oder Schreiben von Code, damit ein Gerät wie ein Arduino oder ein Mobiltelefon das tut, was Sie möchten). Ein SDK hat normalerweise immer noch einen einzigen Fokus.
Ein Toolkit ist wie ein SDK - es ist eine Gruppe von Tools (und häufig Codebibliotheken), mit denen Sie den Zugriff auf ein Gerät oder System erleichtern können. Möglicherweise liegt der Schwerpunkt jedoch mehr auf der Bereitstellung von Tools und Anwendungen als nur auf Codebibliotheken .
Ein Framework ist eine große Bibliothek oder eine Gruppe von Bibliotheken, die viele Dienste bereitstellt (und möglicherweise nicht nur eine fokussierte Fähigkeit, wie dies bei den meisten Bibliotheken / SDKs der Fall ist). Zum Beispiel bietet .NET ein Anwendungsframework - es erleichtert die Verwendung der meisten (wenn nicht aller) der unterschiedlichen Dienste, die Sie zum Schreiben einer Vielzahl von Anwendungen benötigen (z. B. Windows, Grafik, Druck, Kommunikation usw.) "Bibliothek" bietet Unterstützung für so ziemlich alles, was Sie tun müssen. Häufig bietet ein Framework eine vollständige Basis, auf der Sie Ihren eigenen Code erstellen, anstatt eine Anwendung zu erstellen, die Bibliothekscode verwendet, um Teile seiner Arbeit zu erledigen.
Es gibt natürlich viele Beispiele in freier Wildbahn, die diesen Beschreibungen jedoch nicht genau entsprechen.
quelle
Die Auto-Analogie
IDE: Das MS Office of Programming. Hier geben Sie Ihren Code ein und einige zusätzliche Funktionen machen Sie zu einem glücklicheren Programmierer. (zB 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, aber in einer einzigen Archivdatei zusammengefasst sind. Dies enthält Programme, die von anderen Leuten erstellt wurden, damit Sie das Rad nicht neu erfinden müssen. (zB junit.jar, log4j.jar ). Eine Bibliothek spielt im Allgemeinen eine Schlüsselrolle, erledigt jedoch ihre gesamte Arbeit hinter den Kulissen und verfügt nicht über eine grafische Benutzeroberfläche. Motor des Autos.
API: Die Dokumentation des Bibliotheksherausgebers. So solltest du meine Bibliothek benutzen. (zB log4j API , junit API ). Auto-Benutzerhandbuch - ja, Autos kommen auch mit einem!
Kits
Was ist ein Kit? Es ist eine Sammlung vieler verwandter Elemente, die zusammenarbeiten, um einen bestimmten Service bereitzustellen. Wenn jemand Medizin-Kit sagt, bekommen Sie alles, was Sie für einen Notfall benötigen: Pflaster, Aspirin, Gaze und Antiseptikum usw.
SDK : McDonald's Happy Meal . Sie haben alles, was Sie brauchen (und nicht brauchen), ordentlich verpackt: Hauptgericht, Getränk, Dessert und ein Bonusspielzeug. Ein SDK besteht aus einer Reihe verschiedener Softwarekomponenten, die zu einem Paket zusammengefasst sind, sodass sie sofort einsatzbereit sind. Es enthält häufig mehrere Bibliotheken und kann , muss aber nicht unbedingt Plugins, API-Dokumentation und sogar eine IDE selbst enthalten. (zB iOS Development Kit ).
Toolkit : GUI. GUI. GUI. Wenn Sie 'Toolkit' in einem Programmierkontext hören, verweist es häufig auf eine Reihe von Bibliotheken, die für die GUI-Entwicklung vorgesehen sind. Da Toolkits auf die Benutzeroberfläche ausgerichtet sind, werden sie häufig mit Plugins (oder eigenständigen IDEs) geliefert, die Dienstprogramme zum Malen von Bildschirmen bereitstellen. (zB GWT )
Framework : Obwohl dies nicht die vorherrschende Vorstellung ist, kann ein Framework als Kit angesehen werden. Es hat auch eine Bibliothek (oder eine Sammlung von Bibliotheken, die zusammenarbeiten), die eine bestimmte Codierungsstruktur und ein bestimmtes Codierungsmuster (also das Wort, das Framework ) bereitstellt . (zB Spring Framework)
quelle
Betrachten Sie die Android-Entwicklung:
IDE: Eclipse etc ..
Bibliothek: android.app.Activity Bibliothek (Klasse mit allem Code)
API: Schnittstelle grundsätzlich 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 erforderlich sind (---- Tools - DDMS, Emulator ---- Plattformen - Android OS-Versionen, ---- Plattform- Tools - ADB, ---- API-Dokumente)
ToolKit: Könnte ADT Bundle sein
Framework: Große Bibliothek, aber eher architekturorientiert
quelle
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 Codes, die Funktionen / Methoden für die schnelle Verwendung vereinfachen.
API Eine Programmierschnittstelle für Funktionen / Konfigurationen, mit denen Sie arbeiten. Ihre Verwendung wird häufig dokumentiert.
SDK- Extras und / oder zu Entwicklungs- / Testzwecken.
ToolKit Winzige Apps für den schnellen Gebrauch, häufig GUIs.
GUI- Apps mit grafischer Oberfläche erfordern im Gegensatz zu APIs keine Programmierkenntnisse.
Framework Bündel von APIs / riesigen Bibliotheken / Snippets, die in einen Namespace eingeschlossen sind / oder aus dem äußeren Bereich gekapselt sind, um eine kompakte Behandlung ohne Konflikte mit anderem Code zu ermöglichen.
MVC Ein Entwurfsmodell, das in Modelle, Ansichten und Controller für große Anwendungen unterteilt ist. Sie sind nicht voneinander abhängig und können geändert / verbessert / ersetzt werden, ohne sich um anderen Code zu kümmern.
Beispiel:
Snippets Kleine Codes mit nur wenigen Zeilen sind möglicherweise nicht vollständig, aber für eine schnelle Freigabe wert.
Plug-Ins Exklusive Funktionen nur für bestimmte Frameworks / APIs / Bibliotheken.
Add-Ons Zusätzliche Module oder Dienste für bestimmte GUIs.
quelle
SDK steht für Software Development Kit und IDE für integrierte Entwicklungsumgebung. Die IDE ist die Software oder das Programm wird zum Schreiben, Kompilieren, Ausführen und Debuggen wie Xcode verwendet. Das SDK ist die zugrunde liegende Engine der IDE und enthält alle Bibliotheken der Plattform, auf die eine App zugreifen muss. Es ist grundlegender als eine IDE, da es normalerweise keine grafischen Werkzeuge enthält.
quelle