Javascript developer speaking. The problem with isomorphic apps the Node.js way 
(not the Meteor way) is that you want to run the SAME code both sides, and 
client-side concerns aren't server-side concerns. Given it's the same language, 
and some thing are side-agnostic, indeed a great amount of code is shareable 
like templates (and event handling with React.js), which make the 1st render 
fast. But other concerns can't really be written the same way on both sides.

Current solutions :
- Use CLJX/CLJC to split what goes to the JVM and what goes to the browser from 
the same source. Nice, and you get Clojure everywhere
- Use JS/Node.js, and use a build tool like Browserify/Webpack that allow you 
to replace 1-to-1 some files for server-side and client-side. So you need to 
write your own common interfaces, not easily done.
- Use Meteor, and have simple "if(isClient/isServer)" in your code to split the 
concerns and let Meteor deal with rest. The thing is that Meteor is not really 
compatible with the rest of Node.js/npm ecosystem, and they make lot of choices 
for you about the stack.

Something lacking with CLJX/CLJC AFAIK is that you can't target *both* Node.js 
and the browser from the same Clojure code base.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to