Frameworks in der Softwareentwicklung

Frameworks

Ein Framework stellt ein Grundgerüst für Anwendungen bzw. gibt eine Grundstruktur vor. Die Anwendungsentwickler erweitern durch eigene Programmteile das Framework nach den jeweiligen Anforderungen des Projektes.

Eine wichtige Aufgabe eines Frameworks ist die Steuerung der Verarbeitung an die jeweiligen Komponenten. Im Webumfeld bedeutet das, dass der Request zunächst vom Framework entgegengenommen und dann an die Implementierung der spezifischen Funktionalität übergeben wird. Dabei muss der Entwickler sich nicht mehr mit den elementarsten Aufgaben wie z.B. die Entgegennahme einer hochgeladenen Datei können. Das übernimmt bereits das Framework bzw. ist für den Einsatz von speziellen ORM (Objektrelationaler Mapper) ausgelegt. Im Bereich von PHP kommt dafür z.B. die Klassenbibliothek Doctrine oder Propel zum Einsatz, im Java-Umfeld Hibernate.

Der Begriff "Framework" ist allerdings sehr weit auslegbar. Neben den für die Webentwicklung bekannten Frameworks wie Zend, Yii oder Struts gibt es noch andere Definitionen, im Speziellen z.B. Komponenten- oder Test-Frameworks.

Bekannte Vertreter dess Begriffs "Framework" sind: Adobe Flex, CakePHP, Drupal, TYPO3 Flow, jQuery, JUnit, MFC Microsoft Foundation Class, Ruby on Rails, Selenium, Spring, Struts, Symfony, VCL Visual Component Library, Yii und Zend. Bekannte ORMs sind Hibernate, Doctrine, Propel, SQLAlchemy.