Hello John,

ClojureScript One is an example of a single-page application. This means 
that you get one page load from the 
server and everything else happens in the browser without any further page 
loads. The initial page that
is loaded is dynamically generated on the server. Any other updates to the 
page are performed from JavaScript
by manipulating the DOM.

If you are making requests to the server for every new page then it makes 
sense to dynamically generate HTML
there. The whole point of a single-page application is to make the 
application more responsive by reducing both the
number of requests and the amount of data that is transferred over a 
network.

Imbedding HTML templates in JavaScript means that those templates are only 
transferred over the network once.

I hope this helps,
Brenton

On Friday, August 10, 2012 6:21:00 AM UTC-4, john wrote:
>
> Hello,
> I am just trying to understand the best practices in "ClojureScript One".
>
> One thing that strikes me is that most html gets put (with the help of 
> macros using enlive) in the actual cljs page.
>
> As someone who hasn't done web-applications for years I myself would have 
> created as much dynamic html content 
> as possible on the server. But yet "ClojureScript One" seems to prefer to 
> have all html in maps and render it on the client?
>
> I also looked at Chris Granger's "crate" library and it seems to also 
> follow this principle.
>
> Since I consider Chris Granger and Brento Ashworth to be web experts I 
> would just like to know the disadvantages of having
> most html rendered on the server?
>
> Many Greetings 
> John
>   
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to