Hi
You can use either method - either rendering on the server with Freemarker, or dynamically in the browser using AJAX/YUI. The decision on which method to use depends on how much of your UI will need updating in response to user input, and how you'd like that update to work. Generally, it's better for dashlets to just update their own content rather than refreshing the page. Also, for example, the Document Library is relatively heavy on initial load so we try to use as much AJAX updating as possible once in place.
Interestingly, the blog and discussion pages started off with server-based rendering, but then so much code needed duplicating to generate the AJAX updates that this approach was later abandoned.
Thanks,
Mike