Eine Bibliothek ist fertiger Code von anderen, den du in dein Projekt holst, statt die Sache selbst zu schreiben. Sie spart Arbeit beim Bauen und kostet Aufmerksamkeit beim Pflegen.
- Bibliothek
Eine Sammlung fertiger Funktionen, die ein Projekt einbindet, um sie zu benutzen, statt sie selbst zu schreiben.
Beispiel: „Für die Datumsformatierung haben wir eine Bibliothek eingebunden statt die Sonderfälle selbst zu programmieren.“Auch: Library.
Abgrenzung zum Framework: Deine Bibliothek rufst du auf, wann du willst. Ein Framework ruft deinen Code auf und gibt den Ablauf vor. Die Faustregel lautet: Du benutzt eine Bibliothek, ein Framework benutzt dich.
Was sie einspart
Die meisten Aufgaben in einem Projekt sind schon einmal gelöst worden, und zwar gründlicher, als es sich im Projektbudget lohnt. Datumsrechnung über Zeitzonengrenzen, Eingabeprüfung, Diagramme: Wer das selbst schreibt, schreibt vor allem die Sonderfälle nach, die andere längst kennen.
Deshalb ist die Bibliothek der Normalfall und nicht die Ausnahme. Eine Website ohne fremden Code gibt es praktisch nicht, sobald mehr als Text darauf steht.
Was sie kostet
Jede Bibliothek wird zu einer Abhängigkeit. Sie muss aktuell gehalten werden, sie kann Sicherheitslücken bekommen, und ihre Pflege kann enden, während dein Projekt weiterläuft. Dazu kommt das Gewicht: Im Browser muss alles geholt und gelesen werden, bevor es wirkt.
In unseren über 2.500 Website-Projekten ist jQuery dafür das wiederkehrende Beispiel. Sie lag jahrelang auf fast jeder Seite und löste Probleme, die Browser heute von sich aus lösen. Beim Relaunch prüfen wir deshalb jede Bibliothek darauf, ob sie noch gebraucht wird.
Woran eine gute zu erkennen ist
Am Pflegezustand. Wann kam die letzte Veröffentlichung, wie schnell werden gemeldete Fehler beantwortet, wie viele Menschen arbeiten daran. Eine Bibliothek, die seit zwei Jahren stillsteht, ist ein Risiko, auch wenn sie heute tut, was sie soll.
Der zweite Punkt ist der Umfang. Eine Bibliothek, die genau eine Sache macht, lässt sich ersetzen. Eine, die alles macht, wächst in ein Projekt hinein und ist später schwer wieder herauszulösen.