Clojuring the web application stack: Meditation One

https://news.ycombinator.com/rss Hits: 12
Summary

Getting about (this post) This post is big! Skip whatever bores… Follow the nice ToC! It is an "I to I" explanation I wish I had long ago. I've referenced getting started material and "batteries included" Clojure web stacks toward the end, which may be the most practically useful section of this post. Errors and inaccuracies are all mine . If you spot any, please write to complaints @ my domain. (And if you want to say nice things, write to compliments @ my domain :). Feel free to discuss on HackerNews (here) and r/Clojure (here). A basic grounding in the Clojure programming language is assumed . Familiarity with web development will help. I will stick to discussing the Clojure web application stack in relation to classical Web Frameworks. Primarily . Yes, a Meditation Two is in draft hell. It is about Getting Pretty Deep In The Woods. If it sees the light of day, it will also be a giant post. Lambda help us. Getting Parable-ic Multitudes of sworn "Rails developer"s, "Laravel developer"s, "Django developer"s, "Next.js developer"s and suchlike throng the universe… Why? Novices don't know they don't know. The Framework saves them from themselves. So they survive. Intermediates know enough but would rather not have to. But it is a living. A person must eat. So that's that. RTFM. Experts know enough to care deeply . The Framework is muscle memory; all the hacks, the tricks, the deep dark secrets. It bends to will. Mostly. Masters know enough to not roll their own. And yet… sometimes they do. A new cycle begins. Once upon a time, there was one. WebObjects. Now they are numberless. Getting the Big Picture Picture the Clojure web stack this way… to a good first approximation: Our business logic (written in Clojure), relies on a bunch of Clojure libraries (frequently, ring-clojure), that know how to use an application server (Jetty). In the simplest deployment model, this picture fits within a single compute instance (e.g. a PC, Cloud VM, or "Serverless" container). | | | T...

First seen: 2025-05-21 04:17

Last seen: 2025-05-21 15:21