The best thing with the introduction of ClojureScript, at least for web applications, is that we can now write the whole application in Clojure without context switches. Gaka for CSS, ClojureScript for JavaScript, Hiccup for HTML and Clojure for everything else. Possibly someone could design a form validation library that validates both server side and client side with the same code. Love the possibility being presented here.
Sandbar has form validation in it,though not sure if it would work for clojurescript. And personally I'd still use enlive for HTML so can buy prebuilt templates and just tweak my code to work within those, but that could just be me :)
the enlive vs hiccup battle is not really changed by ClojureScript. I am glad that we have enlive, hiccup and fleet so everybody can take whatever he wants.
Unless I'm doing something wrong, they need to do some optimizations to code size if this is going to be used client side nearly 30k is a lot of overhead for a function that returns "Hello, world!"
I didn't read either the article or what you did carefully, but I do wonder if either (a) you're supposed to run the output of their compiler through Google Closure's compiler which removes most of the code (which is probably library functions unused by your little function), or (b) the 30K is a pretty much one time cost, and if your code grows the output increases moderately.
Given that Google Closure optimizes out unused code, I'm going to guess that the more that the Google Closure library is used, the more of it will be added to the minified source.
As a point of reference, their sample twitterbuzz app which uses the Google Closure library is 100k minified.
That being said, this is alpha software so it's hard to criticizes it's lack of output optimization at this point.
"""ClojureScript also makes use of the Google Closure library for capabilities such as event handling, DOM manipulation, and user interface widgets."""
Kinda wished they had stopped at the language and left the DOM out of it.
Your understanding this wrong. You can use all java script libs (with sometimes more sometimes less work) but the google closure library is really easy to use. This DOM library has nothing to do with clojurescript itself its just there and easy to use.