Hallo zusammen,
Da es gerade um verschiedene Programmiersprachen und Webframeworks geht möchte ich auch noch den Exoten Seaside erwähnen.
Seaside ist ein in Smalltalk geschriebenes Webframework. Man benötigt auf dem Server also eine Smalltalk-VM, entweder Squeak oder Visual Works.
Das Besondere an Seaside ist, dass man nicht einzelne Seiten programmiert sondern Komponenten und Tasks.
Komponenten sind Teile einer Seite (oder auch eine ganze Seite). In ihnen wird zum einen das Aussehen der Komponente beschrieben (kein HTML-Code sondern durch programmatische Methodenaufrufe, die entsprechendes HTML erzeugen), zum anderen ihr Verhalten. Man muss sich nicht selbst um Formularausgaben kümmern, dies mach alles Seaside. Man kann nach der Übermittlung einfach auf entsprechende Variablen der Komponente Zugreifen und die Übermittelten Werte abfragen.
In Tasks können längere, komplexere Abläufe modelliert werden. Das alles in einer Methode; wenn Benutzerinteraktion notwendig ist wird an dieser Stelle quasi gewartet.
Wie auch die Tasks basieren die Sessions in Seaside auf Continuations. Im Bezug auf Sessions heißt das, dass zum Beispiel ein Druck auf den Zurück-Button tatsächlich auch ein Zurück im Kontrollfluss bewirkt und alle Änderungen rückgängig gemacht werden (Datenbank commits usw. sind natürlich nicht umkehrbar).
Cool ist auch die direkte Anbindung an Scriptaculous. Im Code der Komponente kann man also sagen: "Mache mir aus dieser Liste eine Sortable List" oder "Wenn dieser Wert geändert wird aktualisiere jenes Div".
Wie gesagt ist das ganze Framework in Smalltalk geschrieben, die Webseiten werden es folglich auch. Es ist wohl auch nicht sonderlich gut für große Seiten geeignet, es gibt noch einige Performance-Leaks.
Es ist aber mal ein anderer Weg, Webseiten zu erstellen. Ein Blick lohnt sich also.
Grüße
David
>>Nobody will ever need more than 640k RAM!<<
1981 Bill Gates