Die Unterschiede zwischen einem Framework und einer Bibliothek

Oftmals hört man, wenn es um Webdesign und die Entwicklung von Webseiten im Allgemeinen geht, die Begriffe Bibliothek und Framework. Nicht wenige machen den Fehler, ein Framework mit einer Bibliothek gleichzusetzen, allerdings gibt es durchaus einige Unterschiede zwischen diesen beiden Lösungen. Zwar haben sowohl Bibliotheken als auch Frameworks das Ziel, den Funktionsumfang einer Technologie zu erweitern, dennoch haben die beiden Begriffe deshalb nicht dieselbe Bedeutung.

Die Funktionsweise von Bibliotheken

Wenn von einer Bibliothek gesprochen wird, wie beispielsweise im Fall der jQuery Bibliothek, dann handelt es sich dabei um eine Ansammlung von Klassen und Funktionen, die vereinzelt ausschließlich im Hintergrund aktiv sind, dem Anwender jedoch verborgen bleiben. Durch eine API wird dem Nutzer, über die Bibliothek, dann in der Folge der Zugriff auf die jeweiligen Funktionen ermöglicht. Diese Funktionen kann der Entwickler nun direkt aufrufen und er hat die vollständige Kontrolle darüber, wann eine bestimmte Funktion, in welcher Häufigkeit, aufgerufen wird.

Die Funktionsweise von Frameworks

Als ein Framework bezeichnet man dagegen eine bestimmte Form einer Bibliothek, mit dem Unterschied, dass es sich bei dem Framework nicht um eine fertige Anwendung handelt, sondern dass das Framework an gewissen Stellen noch ergänzt werden muss. Dies geschieht in der Folge durch das Implementieren und Registrieren von Klassen, die später dann von dem Framework verwendet und auch kontrolliert werden können.

Der Informatiker Brian Foote, beschrieb ein Framework im Jahre 1988 einmal als eine wiederverwendbare Struktur zur Realisation eigener Ideen, welche hierfür nur auf die jeweiligen Anforderungen hin erweitert werden muss.

Allerdings haben Entwickler bei der Verwendung eines Frameworks, im Gegensatz zu einer Bibliothek, keine Kontrolle darüber, wann eine erstellte Klasse verwendet wird.

Fazit

Kurz zusammengefasst ruft der Entwickler bei einer Bibliothek die Klassen und Funktionen innerhalb seines Codes direkt auf, während der jeweilige Aufruf bei einem Framework automatisch von statten geht, sofern dieser benötigt werden sollte.