Webframework
Ein Web Application Framework oder Web-Framework ist ein Framework das für die Entwicklung von dynamischen Webseiten, Webanwendungen oder Webdiensten ausgelegt ist. Die Idee dahinter ist, sich wiederholende Tätigkeiten zu vereinfachen bzw. zu verringern. Dazu bieten heutige Web-Frameworks einen Datenbankzugriff (meist über einen O/R-Mapper), Templating-Mechanismen, eine saubere Trennung von Präsentation und Code durch Verwendung des MVC Design-Patterns, sowie oft auch Möglichkeiten zum Scaffolding.
Features
Die Fähigkeiten eines Web-Frameworks sind darauf ausgelegt sehr schnell Ergebnisse zu erzielen und lauffähige Webanwendungen zu erstellen. Dazu unterstützt einen ein Web-Framework mit einer Reihe von Tools.
Datenbankzugriff
Jedes Web-Framework bietet einen mit wenigen Schritten einzurichtenden Datenbankzugriff an. Für die einfache Handhabung gibt es einen O/R-Mapper der sich um die ganze Persistenzhaltung kümmert und fertige Klassen zu Verwendung anbietet. Dies kann explizit wie z.B. in Django geschehen oder aber auch implizit über Introspection wie z.B. in Ruby on Rails.
Templatesysteme
Ein Web-Framework bietet auch immer die Möglichkeit die Anzeige über sog. Templates zu steuern. Dazu werden on-the-fly HTML-Seiten generiert die mit den dynamischen Inhalten gefüllt werden. An dieser Stelle kann auch (meistens) sehr sauber zwischen statischen und dynamischen Inhalten getrennt werden, so das ein Webdesigner die Webseite designt und der Entwickler diese nur noch mit Daten zu füllen braucht.
Scaffolding
Das durch Ruby on Rails bekannt gewordene Scaffolding unterstützt den Entwickler durch die Generation von sog. CRUD-Pages bei der Entwicklung und im Prototyping. Dadurch ist es möglich ein fertiges Web-Interface anzubieten über die das Modell direkt mit den wichtigsten Aktionen bedient werden kann. Dies ermöglicht ein schnelleres Entwickeln und Testen.
Philosophien
Durch die Umsetzung von Philosophie wie DRY, KISS oder convention over configuration werden einfache, klare und mit wenig Aufwand wartbare Strukturen angeboten die einen in der Entwicklung unterstützen.
Liste von Web-Frameworks
- DotNetNuke - Mit ASP.NET implementiertes Framework.
- Django - Auf Python basierendes Web-Framework.
- Ruby on Rails - Eines der bekanntesten Frameworks - in Ruby geschrieben.
- Symfony - Web-Framework für PHP 5.