Ein Framework gibt den Aufbau einer Anwendung vor und ruft deinen Code an den dafür vorgesehenen Stellen auf.
- Framework
Eine Grundlage für Anwendungen, die deren Aufbau vorgibt und den eigenen Code an festgelegten Stellen aufruft.
Beispiel: „Das Framework bringt Routing, Datenbankzugriff und Formularprüfung schon mit.“Auch: Rahmenwerk. Das englische framework meint das Gerüst oder den Rahmen, in den etwas eingesetzt wird.
Abgrenzung zur Bibliothek: Eine Bibliothek rufst du auf, wann du willst. Ein Framework ruft deinen Code auf und bestimmt den Ablauf. Die Faustregel lautet: Du benutzt eine Bibliothek, ein Framework benutzt dich.
Die Umkehrung der Steuerung
Das ist der technische Kern des Unterschieds. Wer eine Bibliothek benutzt, behält den Ablauf in der Hand. Wer ein Framework benutzt, gibt ihn ab und füllt die Stellen, die es vorsieht.
Daraus folgt der Gewinn und der Preis. Vieles ist bereits entschieden und muss nicht jedes Mal neu überlegt werden; dafür ist der Weg vorgezeichnet, und wer ihn verlässt, arbeitet gegen das Werkzeug.
Was ein Framework mitbringt
Im Webumfeld fast immer dasselbe: die Zuordnung von Adressen zu Code, den Zugriff auf die Datenbank, eine Template-Sprache, Formularprüfung, Nutzerverwaltung, einen Weg zum Versenden von Mails und Werkzeuge für Tests.
Genau das ist der Grund, eines zu benutzen. Jeder dieser Punkte für sich ist lösbar, aber alle zusammen sauber und sicher zu bauen, kostet Monate, die in keinem Projektbudget stehen.
Die Bindung, die daraus entsteht
Ein Framework durchdringt eine Anwendung stärker als jede Bibliothek. Ein Wechsel ist deshalb keine Umstellung, sondern eine Neuentwicklung, und die Entscheidung fällt am Anfang eines Projekts für dessen ganze Lebensdauer.
In unseren über 2.500 Website-Projekten zählt dabei weniger, welches Framework technisch das beste ist, als ob es in fünf Jahren noch gepflegt wird und ob sich Menschen finden, die damit arbeiten können.