Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Ratgeber

Library vs. Framework: Das sind die Unterschiede

(Foto: Shutterstock)

Häufig werden diese beiden Begriffe als Synonyme verwendet. Doch Libraries und Frameworks sind bei weitem nicht das gleiche. Wir erklären euch die entscheidenden Unterschiede.

Allgemein haben Libraries und Frameworks das gleiche Ziel: Sie wollen den Funktionsumfang eines Programms erweitern. Trotzdem sind beide Begriffe nicht identisch und weisen einige Unterschiede auf.

Libraries und wie sie funktionieren

Bei einer Bibliothek (englisch: library) handelt es sich um eine Sammlung von Klassen und Funktionen. Einige arbeiten dabei im Hintergrund und bleiben nach außen hin verborgen. Eine Programmierschnittstelle, kurz API (kurz für application programming interface), ermöglicht dann den Zugriff auf die nötigen Funktionen. Der Entwickler ruft diese Funktionen nun direkt auf und behält somit die Kontrolle, zu welchem Zeitpunkt und in welchem Umfang er diese Aufrufe tätigt.

Library vs. Framework

Ein Framework hingegen ist eine spezielle Form der Library. Das Framework selbst ist dabei kein fertiges Programm, sondern muss an vorgesehenen Stellen ergänzt werden. Um dies zu tun, werden geeignete Klassen implementiert und registriert, welche dann von dem Framework genutzt und kontrolliert werden können.

„Das Framework stellt eine wiederverwendbare, gemeinsame Struktur für Anwendungen zur Verfügung. Entwickler binden das Framework in ihre eigenen Anwendungen ein und erweitern es so, dass es ihre bestimmten Anforderungen erfüllt.“

So beschreibt der Informatiker Johnson gemeinsam mit Brian Foote in einem Artikel zur objektorientierten Programmierung aus dem Jahre 1988 ein Framework als wiederverwendbare Struktur, welche nur für die speziellen Anforderungen der eigenen Anwendung erweitert werden muss.

Der Entwickler gibt also die Kontrolle, wann die erstellten Klassen verwendet werden, ab. Deswegen nennt man diese Art der Kontrollumkehr auch „Inversion of Control“. Konkret kann ein solches Framework mithilfe des Listener-Patterns eingebunden werden. So könnte ein Framework beispielsweise die Funktion eines Buttons bereitstellen. Nun kann eine Listener-Methode registriert werden, welche das Framework immer beim Drücken dieses Buttons aufruft.

Kurz zusammengefasst

Kurz gesagt: Bei einer Library ruft der Entwickler innerhalb seines Codes die Klassen und Funktionen der Bibliothek direkt auf. Hingegen ruft das Framework, eine bestimme Form der Library, vorgesehene Funktionen wenn nötig selbständig auf. Damit folgt es dem Paradigma „Inversion of Control“.

Das könnte dich auch interessieren:

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen