Die Wahl des richtigen Werkzeugs oder der richtigen Technologie für ein bestimmtes Problem ist einer der wichtigsten Aspekte der Programmierung. Das richtige Werkzeug ist der Schlüssel zum Erfolg eines Projekts. Hier versagen die meisten Programmierer, weil sie normalerweise mit vielen Werkzeugen arbeiten. Dies bezieht sich auf die ultimative Frage: „Solltest du deine Anwendung mit einer Bibliothek oder einem Framework erstellen?“ Dies ist eines der umstrittensten Diskussionsthemen innerhalb der Programmierergemeinschaft und führt oft zu Verwirrung. Ein kleines Team mit einer Handvoll Entwicklern. Meistens sind Anfänger vielleicht besser mit einem Framework zu arbeiten, während Bibliotheken Bausteine sind, die überall eingesetzt werden können und eine größere Flexibilität und Kontrolle ermöglichen.
Der Hauptunterschied zwischen einer Bibliothek und einem Framework ist die "Inversion of Control" (IoC). Man könnte sagen, Rahmen ist eine Sammlung von Bibliotheken, aber die Idee ist irgendwie anders.
Library ist eine Sammlung von wiederverwendbaren Funktionen, die von Computerprogrammen verwendet werden. Dabei handelt es sich um Ressourcen, die wiederverwendet werden können. Dazu gehören Klassen, Unterprogramme, vorkompilierter Code, Nachrichtenvorlagen usw. Meistens verfügen Programmiersprachen über eigene Standardbibliotheken, Programmierer können jedoch auch eigene erstellen benutzerdefinierte Bibliotheken. Es ist einfach ein Stück Code, der von anderen Entwicklern geschrieben wurde und überall verwendet werden kann. Bibliotheken können nahtlos in vorhandene Projekte integriert werden, um Funktionen hinzuzufügen, auf die Sie mit einer API weiter zugreifen können. Ein wenig Wissen ist erforderlich, um loszulegen.
Framework ist ein Code, der festlegt, wie das Projekt strukturiert und ausgeführt werden soll. Es erfordert lediglich die Architektur Ihres Projekts, indem Sie beispielsweise die Entwurfsparameter einer Anwendung definieren, sodass Sie sich auf die Besonderheiten des Projekts konzentrieren können. Dabei wird die Wiederverwendbarkeit von Entwurf und nicht die Wiederverwendbarkeit von Code hervorgehoben. Im Gegensatz zu Bibliotheken wird das Steuerelement bei Frameworks invertiert und der Code ruft niemals ein Framework auf, sondern das Framework ruft Sie auf. Im Gegensatz zu Bibliotheken setzen Frameworks auf Struktur und Standards.
Beim Programmieren ist Bibliothek eine Sammlung wiederverwendbarer Funktionen, dh Ressourcen, die Sie wiederverwenden können, die von Computerprogrammen verwendet werden. Die Ressourcen, die manchmal als Module bezeichnet werden, werden im Allgemeinen im Objektformat gespeichert. Die meisten Programmiersprachen verfügen über eigene Standardbibliotheken, aber Programmierer können auch ihre eigenen benutzerdefinierten Bibliotheken erstellen. In einfachen Worten ist eine Bibliothek eine Gruppe von Funktionen, die Sie aufrufen können, während ein Framework ein Code ist, der die Architektur Ihres Projekts bestimmt. In gewisser Weise sind Frameworks und Programmiersprachen miteinander verflochten, die zusammen Computerprogramme unterstützen.
Die "Inversion of Control" ist der Hauptunterschied, der ein Framework von einer Bibliothek unterscheidet. Eine Bibliothek ist eine Gruppe von Funktionen und Routinen, die von anderen Programmen verwendet werden, und Sie haben die vollständige Kontrolle, wenn Sie eine Methode aus einer Bibliothek aufrufen. Im Falle eines Frameworks ist die Steuerung jedoch invertiert. Es gibt die Struktur Ihres Projekts vor und der Code ruft niemals ein Framework auf, sondern ruft Sie auf. Einfach ausgedrückt, können Sie sich Bibliotheken einfach als Funktion einer Anwendung und eines Frameworks als Grundgerüst der Anwendung vorstellen, in der die Anwendung ihre eigenen Funktionen definiert.
Bibliotheken sind eine Reihe von Funktionen, die überall verwendet werden können. Dies bedeutet, dass es sich einfach um einen von anderen Entwicklern geschriebenen Code handelt, der wieder verwendet werden kann. Sie werden nahtlos in vorhandene Projekte integriert, um Funktionen hinzuzufügen, auf die Sie über eine API zugreifen können. Sie werden meistens für häufig verwendete Module verwendet, da Sie sie nicht explizit mit jedem Programm verknüpfen müssen, das sie verwendet. Sie sind wichtig für die Programmverknüpfung und den Bindungsprozess. Auf der anderen Seite stellen Frameworks eine Standardmethode für das Erstellen und Bereitstellen von Anwendungen dar und können meistens beim Starten eines neuen Projekts verwendet werden, anstatt in bestehende Projekte integriert zu werden.
Um den Unterschied zwischen einer Bibliothek und einem Framework besser zu verstehen, werfen wir einen Blick auf jQuery und AngularJS. jQuery ist eine plattformübergreifende JavaScript-Bibliothek, die die DOM-Manipulation sowie viele andere komplizierte Dinge wie CSS-Manipulation, HTML-Ereignismethoden, AJAX-Aufrufe usw. vereinfacht. Der Zweck von jQuery besteht darin, die Verwendung von JavaScript auf Ihrer Website zu vereinfachen. AngularJS dagegen ist ein strukturelles Framework, das auf der MVC-Architektur basiert, die zum Erstellen dynamischer Webanwendungen verwendet wird. Es basiert vollständig auf HTML und JavaScript und kann im Gegensatz zu jQuery nicht in vorhandene Projekte integriert werden, da es als Framework bestimmt, wie Ihr Code strukturiert und ausgeführt werden soll.
Wenn es verwirrend ist, zu entscheiden, ob Sie eine Bibliothek oder ein Framework für das Erstellen einer Anwendung verwenden sollten, kommt es auf die Kontrolle an. Bibliotheken sind eine Reihe von Funktionen, die Sie aufrufen können, und jeder Aufruf führt eine bestimmte Aufgabe aus und gibt Ihnen die Kontrolle zurück. Sie können nahtlos in bestehende Projekte integriert werden, und für den Einstieg ist ein wenig Wissen erforderlich. Frameworks hingegen bestimmen die Gesamtstruktur Ihres Projekts. Anders als Bibliotheken rufen Frameworks Sie auf, und der Code ruft niemals ein Framework auf. Der Hauptunterschied ist natürlich die Inversion der Kontrolle. In einfachen Worten ausgedrückt, Bibliotheken sind flexibler und haben mehr Kontrolle, während Frameworks Struktur und Standards durchsetzen.