At PHPWebBuilder (<a href="http://sourceforge.net/projects/phpwebbuilder">http://sourceforge.net/projects/phpwebbuilder</a>), we model the view as a tree. The tree is accessed through DOM messages. Changes to the tree from one request to the other are tracked. That lets us have AJAX transparently (sending only the modifications made to to the tree between each request through AJAX). The decision to use AJAX or not is just a change in the config file.
<br><br>The project is being actively developed as we are using it for some projects in our company, although we are not being able to make releases, write thorough documentation or mantain the website because we don't have time at the moment.
<br><br>PWB is similar to Seaside in that it is component-based and interaction is achieved through callbacks. It defers (among lots of other things) in that there is a declarative template mechanism (don't have an embedded html generation language, we use templates + DOM messages over the tree),&nbsp; the view is maintained in memory, there are no continuations (back button support has to be taken care of manually), etc.
<br><br>We chose PHP because we needed our applications running anywhere, but we see the limitations of PHP and the advantages of Smalltalk, of course.<br><br>Cheers, Mariano<br><br><div><span class="gmail_quote">2006/11/8, Damien Cassou &lt;
<a href="mailto:damien.cassou@laposte.net">damien.cassou@laposte.net</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>
in my opinion, XHTML is best considered as a tree than as a stream. I<br>wonder if Seaside would benefit from a tree representation. Some ideas<br>come to my mind:<br><br>- it would be possible to modify a previously rendered node/tag (adding
<br>content or changing parameters)<br>- #with: would not be necessarily at the end anymore (because the tag is<br>really closed when the tree is converted to the stream)<br>- Seaside would then have one representation of a document (a tree) that
<br>can be easily converted to multiple kind of output (XHTML, LaTeX, other<br>XMLs...)<br>- there might be other advantages<br><br>One of the drawbacks would be that Seaside would not be able to send the<br>stream directly to the web browser while it renders components. It would
<br>need to wait for the end. But if I remember correctly, it is already the<br>case.<br><br>Do you have an opinion ?<br><br>--<br>Damien Cassou<br>_______________________________________________<br>Seaside mailing list<br>
<a href="mailto:Seaside@lists.squeakfoundation.org">Seaside@lists.squeakfoundation.org</a><br><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
</a><br></blockquote></div><br>