Entwicklungsframeworks
Was Entwicklungsframeworks sind
Entwicklungsframeworks sind vorgefertigte Programmiergerüste, die einer Anwendung eine Struktur und wiederkehrende Bausteine mitgeben. Sie liefern Lösungen für Aufgaben, die in nahezu jedem Vorhaben anfallen, etwa Datenbankzugriff, Anmeldung, Rechteverwaltung, Formularprüfung und die Ausgabe von Seiten. Entwicklungsteams schreiben damit die Besonderheiten ihres Vorhabens und nicht dessen Grundlagen.
Der Unterschied zu einer Programmbibliothek liegt in der Richtung des Aufrufs. Eine Bibliothek wird aufgerufen, ein Framework ruft auf. Es gibt den Ablauf vor und überlässt der eigenen Entwicklung die vorgesehenen Stellen, was Struktur erzwingt und Freiheit kostet. Genau darin liegt der Wert für Vorhaben mit mehreren Beteiligten, denn Entwicklungsframeworks setzen eine gemeinsame Ordnung durch, die niemand einzeln verhandeln muss.
Gängige Arten
Unterschieden wird nach Einsatzort. Ein Backend-Framework organisiert alles, was auf dem Server passiert, also Datenmodell, Logik und Schnittstellen. Ein Frontend-Framework strukturiert die Oberfläche im Browser und hält Anzeige und Daten im Gleichlauf. Daneben stehen Gerüste für mobile Anwendungen sowie für automatisierte Tests. Die Grundlage bilden dabei immer die Programmiersprachen, auf denen die Gerüste aufsetzen. Große Vorhaben kombinieren mehrere davon, was die Zahl der zu pflegenden Abhängigkeiten entsprechend erhöht.
Nutzen und Preis
Der Nutzen liegt weniger in der gesparten Tipparbeit als in den mitgelieferten Entscheidungen. Sicherheitsfragen wie Eingabeprüfung, Sitzungsverwaltung und Schutz vor verbreiteten Angriffen sind im Gerüst bereits beantwortet und werden von vielen Augen geprüft. Dazu kommt die Verständlichkeit, denn eine neue Person findet sich in einer üblichen Struktur schneller zurecht als in einer selbst erfundenen. Das senkt die Einarbeitungszeit spürbar und macht ein Projekt weniger abhängig von einzelnen Köpfen.
Der Preis ist eine dauerhafte Abhängigkeit. Ein Programmiergerüst gibt Versionswechsel vor, deren Aufwand ein Projekt einplanen muss, und wird es nicht mehr gepflegt, steht ein Umbau an. Ein Wechsel des Gerüsts kommt einer Neuentwicklung nahe, weil die Struktur der gesamten Anwendung daran hängt. Die Wahl bindet ein Projekt länger als die Wahl der Sprache.
Auswahl
Entscheidend sind drei Fragen. Wie lebendig ist die Weiterentwicklung, also wie regelmäßig erscheinen Aktualisierungen und Sicherheitspatches. Wie lange werden einzelne Fassungen gepflegt, denn danach richtet sich der Rhythmus der eigenen Versionswechsel. Und wie leicht finden sich Fachleute am Markt, denn ein Gerüst mit kleiner Gemeinschaft macht jede Nachbesetzung teuer. In der PHP-Entwicklung stehen dafür zwei ausgereifte Gerüste zur Wahl, die sich in Philosophie und Einarbeitungsaufwand deutlich unterscheiden. Welches davon zu welchem Vorhaben passt, arbeitet der Framework-Vergleich heraus.
Aktuelle Themen