[Seaside] Seaside, AJAX, and Iliad
renggli at gmail.com
Wed Dec 1 21:57:11 UTC 2010
Also note that there is Reef an extension to Seaside by Esteban
Lorenzano, that provides the kind of update mechanism you ask for. He
presented it last ESUG in Barcelona and it was really impressive:
On 1 December 2010 18:37, Tony Fleig <tony.fleig at gmail.com> wrote:
> Ok, I tried JQAjaxifierLibrary on a few of my test apps and here's what i
> 1. It definitely improves the user experience by doing what appears to be
> in-place updating -- no flicker as the page reloads.
> 2. As advertised, it required no changes to my code and my existing AJAX
> callbacks continued to work without modification.
> 3. I compared the Iliad multi-counter example with the Seaside multi-counter
> example after adding JQAjaxifierLibrary to it. The ajaxified Seaside
> multicounter updates were noticably smoother than in the un-ajaxified
> With a local server, the Iliad multicounter accomplishes the update in about
> one-half the time required by the Seaside version (about 10ms vs 20ms on my
> hardware). The Iliad response content length was 322 bytes while the Seaside
> response was 2603 bytes. (The toolbar was 893 of those bytes so the size for
> comparison should be 1710 bytes or about 5X the Iliad response.) The Iliad
> response contained an update for the changed counter only (and some
> overhead) while the Seaside response contained the entire page.
> I think the major difference here is that the Iliad implementation, while
> requiring the programmer to manually mark widgets dirty, only updates the
> changed widgets, while ajaxified Seaside continues to render the entire page
> (albeit in a background request.)
> In practice, I could observe no difference between the two -- I can't tell
> the difference between 10 and 20 ms -- so for relatively small updates this
> difference is probably not interesting. I would think for a page composed of
> many complex components though, the difference could conceivably be
> significant both in server processing load and transfer time when only one
> component of many is updated.
> On Wed, Dec 1, 2010 at 11:45 AM, Tony Fleig <tony.fleig at gmail.com> wrote:
>> Wow I'm glad I asked. I'll give JQAjaxifierLibrary a try.
>> Thanks a lot.
>> On Wed, Dec 1, 2010 at 10:41 AM, Lukas Renggli <renggli at gmail.com> wrote:
>>> > Seaside's wonderful back-button management with continuations breaks
>>> > when
>>> > AJAX is used. Iliad has a "different" back-button approach (which is
>>> > not
>>> > clearly defined anywhere that I could find).
>>> > Is there any chance that Seaside could acquire markDirty functionality
>>> > and
>>> > "automatic" AJAX callbacks like Iliad? I really like Seaside's
>>> > completeness
>>> > and well-documented features, but I find myself drawn to Iliad instead
>>> > because for Web-2.0-style apps the out-of-the-box (default) user
>>> > experience
>>> > is so much better.
>>> > Am I off-base here? Have I missed something important in my analysis?
>>> Well, Seaside 3.0 has the JQAjaxifierLibrary built in, see
>>> I have been using successfully using this approach in various
>>> industrial applications since 2007 with PrototypeJS and later with
>>> JQuery. Albeit it has not gained much popularity in the wider Seaside
>>> community, I personally find it very elegant for the following
>>> 1. You develop a normal application, you get an AJAX application for
>>> 2. You do not need to mark components as dirty.
>>> 3. You keep the full flexibility of how you structure your HTML.
>>> 4. You keep the full flexibility of doing custom AJAX actions if
>>> necessary (e.g. to optimize certain updates).
>>> Lukas Renggli
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside