Definition „Programmiergerüst“ Was ist ein Framework?

Von HJL

Software-Entwickler stellen zu Beginn eines Projekts die Weichen. Als hilfreich erweist sich dabei ein Ordnungsrahmen für die spätere Programmierung. Ein Framework schafft solide Grundlagen in Form einer „Vor-Programmierung“.

Ein Framework definiert ein Grundgerüst für die spätere Programmierung.
Ein Framework definiert ein Grundgerüst für die spätere Programmierung.
(Bild: Michael_Luenen / Pixabay)

Framework-Strukturen: Bibliotheken und Ordnungskriterien

Der Begriff Framework bezeichnet in der Programm- und Software-Entwicklung nicht etwa ein Programm, sondern einen durch Basis-Bausteine bestimmten Ordnungsrahmen. Klassische Einsatzgebiete für Frameworks sind Anwendungen im Bereich der Objekt-orientierten Programmierung. Der Strukturierung dienen zum einen Bibliotheken, zum anderen Ordnungskriterien. Dazu zählen beispielsweise Laufzeit-Umgebungen.

So erhält der Softwareentwickler ein Programmiergerüst, das ihm wertvolle Dienste erweist. Wirtschaftlich relevante Faktoren beim Einsatz von Framework sind die Einsparungen an Zeit und die damit einher gehende Ersparnis bei den Herstellungskosten eines Programms.

Framework am Beispiel eine Website-Programmierung

Am Beispiel der Programmierung einer Webseite lässt sich die Framework Funktionalität treffend beschreiben. Websites basieren auf Strukturen. Eine typische Komponente ist die zum Einsatz kommende Anzeige-Sprache. Fällt die Wahl zugunsten von HTML als Anzeige-Sprache, so ist die damit fest gelegte Struktur für verwandte und wieder kehrende Anwendungsbereiche ein relevantes Merkmal.

Soll die definierte Webseite als Grundlage für den Web-Auftritt eines Online-Shops eingesetzt werden, so wird die Arbeit des Website-Entwicklers entscheidend erleichtert. Der Code für die zu verfertigenden Seiten in Folge basiert auf ähnlichen Code-Folgen. An dieser Stelle wird der wirtschaftliche Vorteil - Zeitaufwand und Kosten – eines Frameworks deutlich: Alle relevanten Bausteine für den Website-Auftritt des Online-Shops werden zu einem Framework zusammen geführt.

Dieser strukturierte Programmier-Rahmen muss nun im Zuge der Programmierung lediglich um sehr spezifische Eingabe-Codes ergänzt werden. Der Vorteil, bedingt durch signifikante Einsparungen bei Produktionszeit und Herstellungskosten, liegt auf der Hand.

Framework, CMS oder Selbstprogrammierung?

Entwickler stellen sich zu Projektbeginn die Frage, wie sie unter programmtechnischen und wirtschaftlichen Aspekten vorgehen sollten. Die Entscheidung fällt unter drei Möglichkeiten:

Framework: Die Programmierung einer Website auf der Basis von Framework Strukturen gilt als „Königsdisziplin“. Die Anforderungen an die Professionalität des Entwicklers sind relativ hoch. Programmier-Profis schätzen allerdings das hohe Maß an Flexibilität und die Verfügbarkeit ausgefeilter Struktur-Features.

CMS (Content Management System): Gängige Features sind oft bereits vorhanden. Nicht Vorhandenes lässt sich mit Hilfe von Plug-Ins bewältigen. Der kostenlosen Verfügbarkeit von Lösungsansätzen stehen oft Mängel bei Plug-Ins mit exakt passenden Inhalten gegenüber. In der Konsequenz muss der Entwickler dann selbst programmieren.

Eigen-Programmierung: Selbst programmierte Seiten erfordern neben Kenntnissen auch einen hohen Zeitaufwand. Es besteht die Gefahr, dass Fehler zu spät erkannt werden. Außerdem werden Sicherheitslücken oft übersehen.

Frameworks für individuelle Problemstellungen

Die in Framework beinhalteten Basis-Bausteine nehmen Einfluss auf die Design-Struktur eines Programms. Abstrakte und konkrete Klassen aus dem Portfolio der Basis-Bausteine unterstützen den Entwickler in Form von Entwurfsmustern maßgeblich bei seinen Programm-Applikationen.

Die hier aufgelisteten „Framework Typen“ geben einen Eindruck von den vielfältigen Einsatzmöglichkeiten in der strukturierten Software-Entwicklung:

Web Frameworks: mit Zuschnitt auf die Entwicklung und Programmierung dynamischer Web Sites und Web Applikationen.

Application Frameworks: als Programmier-Gerüst für Anwendungen mit spezifischen Strukturen und Funktionen.

Komponenten-Frameworks: mit speziellem Umgebungsrahmen für die Programmierung und finale Einbindung von Programm-Paketen.

Coordination Frameworks: mit der Möglichkeit der Einrichtung von Geräte-Interaktionen, das heißt einer Abfolge zu steuernder Ablaufschritte.

Domain Frameworks: als Programmier-Rahmen für definierte Problembereiche.

Class Frameworks: mit der Aufgabenstellung einer Zusammenfassung von „Klassen“ und „Methoden“, im Sinne einer optimalen Unterstützung des Programmierers bei der Implementierung spezifischer Anwendungen.

Test Frameworks: zum Testen entwickelter Software Programme. Als klassische Beispiele sind „Selenium“ für den Test von Web Applikationen und „JUnit“ für den Test von Modulen zu nennen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Ein Framework bringt Professionals schnell zum Ziel

Vor dem Hintergrund dieser Ausführungen lässt sich zusammen fassen: Selbst Programmieren ist unter den Prämissen „Produktivität“ und „Fehlergefahr“ nicht empfehlenswert. Für viele Entwicklungsprojekte ist die auf CMS basierende Durchführung eine gute Wahl.

Geht es um spezielle Themen individuellen Zuschnitts, so ist das vom Framework zur Verfügung gestellte Programmier-Gerüst die erste Wahl. Die Chancen für ein optimales Resultat steigen mit der Qualifikation des Software-Entwicklers.

(ID:46640563)