Framework


Ein Framework (deutsch: Programmiergerüst) bezeichnet einen Ordnungsrahmen in der Softwaretechnik, der dem Programmierer als Entwicklungsrahmen für seine Anwendungsprogrammierung dient. Das Framework wird hauptsächlich in der objektorientierten Softwareentwicklung und bei komponentenbasierten Entwicklungsansätzen verwendet.

Eigenschaften

Ein Framework beinhaltet Basisbausteine für ein Programm und bestimmt somit die Designgrundstruktur für die Entwicklung einer Software. Es enthält unter Anderem abstrakte und konkrete Klassen und unterstützt zusätzlich die Erstellung von Applikationen. Wichtig ist, dass das Framework an sich noch kein fertiges Programm ist, sondern vom Programmierer nur als Entwurfsmuster genutzt wird.

Der Programmierer verzeichnet eine konkrete Implementierung, welche dann durch das Framework gesteuert und benutzt wird. Im Allgemeinen werden Frameworks mit dem Ziel der Wiederverwendung von architektonischen Anwendungsmustern entwickelt. Einige Anwendungsbeispiele sind grafische Editoren, Buchhaltungssysteme oder Internetshops. Ein plattformunabhängiges Framework ist beispielsweise Ruby on Rails.

Framework-Typen

Grundsätzlich lassen sich Frameworks wie folgt unterteilen:

  • Application Frameworks

Diese Frameworks bilden für den Programmierer ein Gerüst für eine bestimmte Klasse von Anwendungen. Sie stellen Funktionen und Strukturen zur Verfügung, die für alle Anwendungen der Klasse von Bedeutung sind.


  • Domain Frameworks

Domain Frameworks bilden das Programmiergerüst für einen bestimmten Problembereich und stellen somit Funktionen zur Lösung dieser Aufgabe bereit.


  • Class Frameworks

Hierbei fungieren die Frameworks als eine Zusammenfassung von Klassen und Methoden, welche für ein breites Anwendungsfeld eingesetzt werden können. Sie unterstützen auf einer bestimmten Abstraktionsebene die Anwendungsimplementierung des Programmierers.


  • Komponenten-Frameworks

Diese Frameworks bieten eine Umgebung zur Entwicklung und Einbindung von Software-Komponenten, welche meist ein Bündel von Klassen sind und eine eindeutig definierte Schnittstelle besitzen.


  • Coordination-Frameworks

Diese Frameworks bieten die Möglichkeit, Geräte-Interaktionen einzurichten und dienen zur Gewährleistung von nahtloser Kompatibilität.


  • Tests Frameworks

Wie der Name schon vermuten lässt, benutzt man diese Frameworks zum Testen von entwickelter Software. Bekannte Beispiele hierfür sind JUnit für Modultests und Selenium zum Testen von Webapplications.


  • Webframeworks

Webframeworks sind auf die Entwicklung von dynamischen Webseiten und Webanwendungen ausgelegt. Sie bieten diesbezüglich Methoden und Funktionen als Hilfestellung für den Entwickler.

Bezug zur SEO

Auch im Bereich der Suchmaschinenoptimierungwerden Frameworks gerne als Grundstruktur für SEO-Tools verwendet. Sie bieten unter Anderem Möglichkeiten für die Implementierung von Keyword-Analysen, Keyword-Suchen, das Erstellen von Links und vielem mehr. SEO-Frameworks unterstützen den Entwickler und sorgen für den grundlegenden Ordnungsrahmen bei der Anfertigung einer neuen Software.

Weblinks