Thanks. I find Seaside&#39;s security features very valuable for what I do but I also have parts of my applications that (should) behave more REST-like, so perhaps I&#39;ll take a look at Altitude for that eventually. Have you measured the performance advantages of using xtreams and if so, how?<div>
<br></div><div>Rado<br><br><div class="gmail_quote">On Wed, Jul 18, 2012 at 2:11 AM, Colin Putney <span dir="ltr">&lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Tue, Jul 17, 2012 at 3:30 PM, radoslav hodnicak &lt;<a href="mailto:rh@4096.sk">rh@4096.sk</a>&gt; wrote:<br>
&gt; Can you describe how it compares (or doesn&#39;t) to Seaside or other web<br>
&gt; technologies?<br>
<br>
</div>Sure. Seaside is probably the best comparison. I cut my Smalltalk<br>
teeth writing a Seaside app, so it&#39;s had a huge influence on Altitude.<br>
<br>
Altitude will feel familiar to those who&#39;ve used Seaside before. It<br>
has Component trees that render themselves using a canvas-style<br>
protocol, and uses blocks as callbacks. Like Seaside, Altitude takes<br>
care of generating urls and form-field names, so application<br>
developers don&#39;t have to write a lot of code to route requests or<br>
marshal server state into strings.<br>
<br>
The main difference between Altitude and Seaside is that Seaside is<br>
session-oriented, Altitude is resource-oriented. Seaside generates<br>
unique urls for every interaction with the user, while Altitude<br>
generates RESTful urls. The upside of that is that Altitude is more<br>
cacheable than Seaside and has (potentially) more scalable memory<br>
usage than Seaside. The downside is that it lacks Seaside&#39;s inherent<br>
security. (Implementation note: Altitude doesn&#39;t use continuations. An<br>
early prototype did have an implementation of call/answer based on<br>
partial continuations, mostly to prove it would work, but I haven&#39;t<br>
needed that in practice, so I took it out.)<br>
<br>
Another difference comes from Xtreams. Seaside implements several<br>
server-adaptors that allow it to work with various HTTP<br>
implementations, like Kom, Zinc, Swazoo etc. Altitude implements its<br>
own web server on top of Xtreams and takes full advantage of the<br>
flexibility that Xtreams offers. Altiude uses Xtreams pervasively and<br>
it&#39;s a huge improvement over the classical ST-80 stream protocol, both<br>
in terms of design flexibility and performance.<br>
<br>
Finally, Altitude provides less insulation form HTTP than Seaside<br>
does. Seaside was designed to handle the details of HTTP so that the<br>
developer can focus on his application. Modern web applications,<br>
however, make more use of the features and details of HTTP (via AJAX,<br>
for example), than in the past, and so Altitude exposes HTTP to the<br>
application more than Seaside does. This may be because of Altitude&#39;s<br>
relative immaturity; we&#39;ll see how it develops.<br>
<br>
It would probably be good to implement some example applications in<br>
Altitude, so people can see how the compare to the Seaside versions.<br>
<span class="HOEnZb"><font color="#888888"><br>
Colin<br>
<br>
</font></span></blockquote></div><br></div>