MVC für Webapplikationen
MVC (Model-View-Controller,
Wikipedia) beschreibt ein allgemeines Architekturmuster für Programme. Durch die logische Aufteilung in Model, View und Controller wird die Erweiterung und Wartbarkeit von Programmcode gesteigert. Ein weiterer Vorteil ist die klare Abgrenzung der Verantwortlichkeiten.
So können verschiedene Personen an den einzelnen Teilen arbeiten und später ineinander verzahnen. Dabei kann sich zum Beispiel ein Designer um das Oberflächendesign kümmern, während der Programmierer die Geschäftslogik implementiert und der Datenbankverwalter die Datenmodelle bearbeitet.
Die eigentliche Aufteilung der Ebenen ist eher als lose Vorgehensweise zu sehen, die der Anwendung entsprechend vorgenommen wird.
Es existieren viele Frameworks, die das MVC Prinzip bereits nutzen und daher leicht erweiterbar und für eigene Zwecke anpassbar sind. Eine Übersicht soll diese Seite bieten.
Frameworks mit einer Prise Automagic
Ruby on Rails, oder auch kurz RoR genannt, trat eine Welle der Begeisterung los die bis jetzt anhält.
RoR implementiert eine MVC kompatible Struktur für neue Websites, was bis dahin nichts ungewöhnliches ist. Ungewöhnlich daran ist, daß es Verwaltungsaufgaben für neue Websites automatisiert und dem Administrator oder Benutzer abnimmt. Zum Beispiel generiert es aus den Model-Klassen automatisch die dazu passenden Datenbank-Tabellen, die passenden Abfragen und vieles mehr.
Da ein hoher Prozentsatz der Grundlagen bei vielen Webprojekten gleich sind, kann man hier viel Zeit sparen. Und weil jede Zeile eingesparter Code auch keine Fehler mehr enthalten kann, spart man nicht nur Zeit sondern auch Fehler und kommt somit sehr schnell zu brauchbaren Ergebnissen. Diese Art von Automagic haben sich mittlerweile auch andere Frameworks, auch für andere Sprachen, zu eigen gemacht. Man muß also nicht Ruby nutzen um etwas ähnliches nutzen zu können. Dennoch bleibt RoR das Original und mit das beste was man für diesen Fall einsetzen kann.
Ruby als Programmiersprache ist sehr leicht erlernbar, rein objektorientiert und allemal einen Blick wert. Wer in Python programmiert hat, wird mit Ruby dem Vernehmen nach kaum Schwierigkeiten haben.
Eine kurze Einführung zum Ursprung des Hypes, Ruby on Rails, habe ich bereits
in meinem Blog veröffentlicht.