- Webframework
-
Ein Web Application Framework oder Webframework ist ein Software-Framework, das für die Entwicklung von dynamischen Webseiten oder Webanwendungen ausgelegt ist. Damit werden sich wiederholende Tätigkeiten vereinfacht, die Wiederverwendung von Code und die Selbstdokumentation der Software-Entwicklung gefördert.
Inhaltsverzeichnis
Eigenschaften
Die Fähigkeiten eines Webframeworks sind darauf ausgelegt, sehr schnell Ergebnisse zu erzielen und lauffähige Webanwendungen zu erstellen.
Dazu bieten heutige Webframeworks einen Datenbankzugriff (meist über eine Objektrelationale Abbildung), Templating-Mechanismen, eine saubere Trennung von Präsentation und Code durch Verwendung des MVC-Design-Patterns sowie oft auch Möglichkeiten zum Rapid Prototyping durch Scaffolding.
Datenbankzugriff
Jedes Webframework bietet einen Datenbankzugriff an. Für die einfache Handhabung gibt es häufig einen objektrelationalen Mapper, der sich um die Persistierung 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 Webframework bietet auch meist die Möglichkeit, die Anzeige über eine Template Engine zu steuern. Dazu werden auf Abruf HTML-Seiten generiert, die mit den dynamischen Inhalten gefüllt werden. An dieser Stelle kann auch meist zwischen statischen und dynamischen Inhalten getrennt werden, so dass etwa ein Designer das Aussehen festlegt, indem er eine Vorlage entwirft, die der Anwendungs-Entwickler dann mit Daten füllt. Die Syntax der Template-Sprachen ist meist an HTML angelegt oder erweitert dieses nur geringfügig.
Scaffolding
Das durch Ruby on Rails bekannt gewordene Scaffolding unterstützt den Entwickler durch die Generierung von sog. CRUD-Pages (Create-Read-Update-Delete) bei der Entwicklung und im Prototyping. Dadurch ist es möglich, direkt aus dem Entwurf eines Modells etwa ein Web-Interface anzubieten, über das Daten sofort in die Datenbank eingegeben und verwaltet werden können. Auf diese Weise kann bereits mit Beispieldaten entwickelt und getestet werden. Auch die Verwaltungs-Sichten (Admin interface) einer Webanwendung können teils mit Scaffolding generiert werden, da diese häufig nur grundlegende Bedienelemente benötigen.
Philosophien
Durch die Umsetzung von Konzepten wie DRY, KISS oder convention over configuration werden einfache, klare und mit wenig Aufwand wartbare Strukturen angeboten, die Entwickler-Teams unterstützen.
Siehe auch
Wikimedia Foundation.