My Universe Blog » Entries Tagged as Stormrose
MVC ohne Java, Python, Ruby & Co
Posted by Jesco Freund at Sept. 15, 2010 10:23 p.m.
MVC kann man auch jenseits der klassischen objektorientierten Programmiersprachen umsetzen. Derzeit bastle ich an einer Implementierung in C – teils als Proof of Concept, teils für einen bestimmten Einsatzzweck – auf jeden Fall aber aus Spaß an der Freude.
Die Idee hinter Stormrose (so habe ich das Projekt getauft) ist relativ einfach: Ein kleiner, schlanker HTTPd nimmt Requests entgegen, ermittelt (ähnlich wie bei Django) anhand der URI den zuständigen Controller, übergibt diesem den Request und lässt vom Controller dann eine Antwort generieren, die zurück an den anfragenden Client übertragen wird.
Controller sind dabei einfache C-Funktionen, die einem bestimmten Schema entsprechen. Zu Demonstrationszwecken habe ich einen „Hello World“ Controller schon mal eingebaut, der – wie nicht anders zu erwarten – nur ein einfaches „Hello, World“ an den Client sendet. Ein Controller für statische Inhalte soll noch hinzukommen, so dass Stormrose theoretisch auch als „normaler“ Webserver einsetzbar wäre. Weitere Controller werden dann im Zuge der Entwicklung einer Stormrose-Applikation erstellt.
Auf Seiten der Views habe ich noch keine Aktiv-Posten zu verbuchen – hier muss ich mir noch etwas sinnvolles ausdenken. Einen (schwergewichtigen) XML-Parser möchte ich aber tunlichst vermeiden – sonst kann man ja gleich JSPs verwenden…
Für das Model gilt im Prinzip ähnliches – hier möchte ich allerdings dem Anwendungsentwickler wirklich komplett freie Hand lassen. Einen ORM-Mechanismus wird es nicht geben – Frameworks mit diesem Dreiklang (ORM, Templates, Glue) gibt es schon zu Hauf. Stormrose ist eher für Applikationen gedacht, die eben nicht hauptsächlich Datensätze aus einem RDBMS bearbeiten.
Damit wird es sicherlich eher ein Nieschendasein führen – wer es sich trotzdem mal ansehen möchte, kann sich den Code jederzeit per Subversion auschecken (https://svn.my-universe.com/stormrose/trunk). Derzeit ist der Code aber noch sehr unreif und befindet sich in ständiger Entwicklung. Momentan taugt er also bloß zum Experimentieren. Sobald die Controller-API stabil ist, werde ich dann auch ein kleines How-To zur Entwicklung einer kleinen Stormrose-Applikation veröffentlichen.
No comments | Defined tags for this entry: C, code, development, programming, Stormrose

Content is subject to the conditions of the