launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #08170
Re: Rendering templates either server or client-side
On Sat, Oct 15, 2011 at 10:13 AM, Aaron Bentley <aaron@xxxxxxxxxxxxx> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi all,
>
> I've just given Launchpad the ability to render a given template either
> server-side or client-side. I've done this because the
> CustomBugListings feature means we'll want to render bug listings on the
> client and server sides, and we have a new design for them.
>
> Here's a screenshot of the current work:
> http://people.canonical.com/~abentley/mustache-listings.png
>
> I've used the Mustache templating language for this. The Python
> implementation is called "Pystache", and the JavaScript implementation
> is called "mustache.js".
>
> In either language, the inputs are a string and a JSON-compatible
> mapping (a dict in Python, an object in JavaScript). In Javascript, you
> render a template like so: "Mustache.to_html(template, data)". In
> Python, it's "pystache.render(template, data)".
This is pretty cool. I a question to help me (and perhaps others)
choose when to use *stache templates:
- how does the server side generation compare to TAL performance? We
have pages that spend extraordinary amounts of time in TAL (and
have/are trying things like new TAL engines to improve on this).
And an observation: the discipline of having a plain ol mapping will
help us develop eager-loaded datasets rather than just-in-time
evaluation, which I think will help with our query counts and server
rendering performance.
-Rob
Follow ups
References