I just launched https://www.schoolseatingcharts.com , which might be of interest to this mailing list because it's constructed out of 100% Clojure and ClojureScript. The codebase is about 60% Clojure (all running on the server) and 40% ClojureScript (all running on the client). Altogether, it weighs in at a light 5,000 LOC, including comments, tests, and other administrivia (and also a pretty generic CRUD library that I haven't open-sourced yet). It's running on Google App Engine, using appengine-magic, which has (so far) been a pleasure to work with (disclaimer: I work for Google, so I am biased).
By no means is School Seating Charts a marvel of engineering, but it did prove to me that it's possible to Get Shit Done in the web world with Clojure. More importantly, it shows that ClojureScript can be used to solve practical problems in the real world, despite it being in its infancy. I could go on and on about the specifics of building out the website (and maybe I will in a blog post sometime), but one anecdote stands out among the rest, so I'll mention it here. Sharing code between the client and server is *awesome*. I can't stress this enough. Besides making the banal details easier (e.g. sharing configuration information, HTML element IDs, etc), it's great because it lets you jump in and write code without considering (too much) whether it should run on the client or server. For example, I originally wrote the algorithm that shuffles students among seats (with certain constraints) on the client. Eventually, I decided that I wanted to support IE8, but it just couldn't run the shuffle fast enough. So, I spent *10 minutes* moving the shuffle code to the server. It was absolutely trivial. Now, this code isn't ridiculously complex, but it does have a lot of tricky corner cases -- enough that porting it from JavaScript to the server-side language would have really sucked. With Clojure and ClojureScript, it was a non-issue. Anyway, I've rambled on far too much already. I just thought people might want to hear about a Clojure success story. Technical success, that is... Whether it's a commercial success remains to be seen. :) -Evan -- 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