Der Unterschied zwischen einem Framework und einer Bibliothek

Entwickler verwenden die Begriffe "Bibliothek" und "Framework" häufig synonym. Aber es gibt einen Unterschied.

Sowohl Frameworks als auch Bibliotheken sind Code, der von einer anderen Person geschrieben wurde und zur Lösung häufiger Probleme verwendet wird.

Angenommen, Sie haben ein Programm, in dem Sie mit Zeichenfolgen arbeiten möchten. Sie beschließen, Ihren Code trocken zu halten (wiederholen Sie sich nicht) und einige wiederverwendbare Funktionen wie diese zu schreiben:

function getWords(str) { const words = str.split(' '); return words; } function createSentence(words) { const sentence = words.join(' '); return sentence; }

Herzliche Glückwünsche. Sie haben eine Bibliothek erstellt.

Frameworks oder Bibliotheken haben nichts Magisches. Sowohl Bibliotheken als auch Frameworks sind wiederverwendbarer Code, der von einer anderen Person geschrieben wurde. Sie sollen Ihnen helfen, häufig auftretende Probleme auf einfachere Weise zu lösen.

Ich benutze oft ein Haus als Metapher für Webentwicklungskonzepte.

Eine Bibliothek ist wie ein Besuch in Ikea. Sie haben bereits ein Zuhause, brauchen aber ein bisschen Hilfe bei Möbeln. Sie haben keine Lust, Ihren eigenen Tisch von Grund auf neu zu gestalten. Mit Ikea können Sie verschiedene Dinge auswählen, die Sie in Ihrem Zuhause mitnehmen möchten. Sie haben die Kontrolle.

Ein Framework ist dagegen wie der Bau eines Modellhauses. Sie haben eine Reihe von Bauplänen und einige begrenzte Auswahlmöglichkeiten in Bezug auf Architektur und Design. Letztendlich haben der Auftragnehmer und die Blaupause die Kontrolle. Und sie werden Sie wissen lassen, wann und wo Sie Ihre Beiträge liefern können.

Der technische Unterschied

Der technische Unterschied zwischen einem Framework und einer Bibliothek liegt in einem Begriff, der als Inversion der Kontrolle bezeichnet wird.

When you use a library, you are in charge of the flow of the application. You are choosing when and where to call the library. When you use a framework, the framework is in charge of the flow. It provides some places for you to plug in your code, but it calls the code you plugged in as needed.

Let’s look at an example using jQuery (a library) and Vue.js (a framework).

Imagine we want to display an error message when an error is present. In our example, we will click a button, and pretend an error occurs.

With jQuery:

Original text


// index.html