5 ms·
Clojure has a simple scratch->toyapp->deploy workflow. It's just that to find it as a newcomer, you either: A. Luck out and find it immediately. B. Get direct
by danneu 13y ago
Clojure has a simple scratch->toyapp->deploy workflow. It's just that to find it as a newcomer, you either:
A. Luck out and find it immediately.
B. Get directed to it by someone more experienced.
C. Chase a suboptimal solution because you don't know better. You simply don't know there's an easier workflow. You don't know you can eval code within an editor. You don't know there are tools like paredit or how they'd help you.
For toy webapps, it's good to know these incantations:
lein new compojure myapp (creates webapp skeleton)
lein ring server (starts embedded server for dev)
Here's the live demo of a dumb app I threw together to take an IRC joke too far: http://www.danneu.com/spinners/ http://www.danneu.com/spinners/
And here's the Clojure code: https://github.com/danneu/spinners-as-a-service/blob/master/src/spinners_as_a_service/handler.clj https://github.com/danneu/spinners-as-a-service/blob/master/...
To deploy it, I rsync the repo to a remote server, run `lein uberjar` remotely, and launch the uberjar.
That repo shows how to use Compojure for routing, Hiccup for html, Clojurescript, and a few incantations (like `:genclass`) to get it working.