Nach dem IOWA-Download von [IOWA] und der in der README-Datei angegebenen Installation können Webapplikationen mit Ruby erstellt werden.
In einem neuen Verzeichnis
mit dem Namen "`hallowelt"'
wird eine HTML-Datei Main.html angelegt, welche die für IOWA übliche
Startseite ist.
<html> <head><title>Hallo</title></head> <body> <h1>Hallo Welt!</h1> </body> </html>
Nun wird von der Shell aus ein Prozess gestartet, der dafür sorgt, dass
unter http://localhost/iowa/hallowelt die angelegte Seite gefunden wird:
ruby -riowa -e "Iowa.run('hallowelt')"
Um nun etwas Dynamik
in die Sache zu bringen, wird am
Beginn der Datei Main.html ein Codeblock eingefügt.
<%
class Main < Iowa::Component
def time
Time.now
end
end
%>
<html>...
Dieser einleitende Codeblock enthält die für diese Seite notwendige Logik in einer Klasse, deren Name mit dem Dateinamen übereinstimmen sollte. Im HTML-Bereich der Dateien kann dann auf die Klasse Bezug genommen werden:
Es ist jetzt <b>@time</b>.
Beim Aktualisieren der Seite im Browser merkt IOWA, dass die Main.html-Datei verändert wurde und liest sie neu ein. Die Uhrzeit sollte sich bei jedem Aktualisieren ändern.
Hier wird die Trennung von Applikationslogik und Darstellung deutlich. Der
Programmierer könnte die Implementation von @time beliebig ändern, zum
Beispiel in Time.now.gmtime, oder der Designer könnte die Darstellung
beliebig ändern, ohne den Code zu beeinflussen. Vor allem bei komplexeren
Applikationen zeigt sich die Mächtigkeit dieses einfachen Prinzips.