Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Throughout this chapter, we’ve seen how a functional approach to software design yields small but very powerful abstractions that let us quickly produce server-side applications. We’ve made an HTTP service in 26 short lines. We’ve shown how we can take a radically different approach to web content generation with Enlive, cutting our templates away from our server code along a novel axis. We’ve seen everything you need to make a middling-sized web framework. With proper persistent storage, there are few if any web properties that you couldn’t tackle with these components.
But even more interesting than what we’ve shown is what we haven’t shown: a big stack with frameworks and generators. This might be considered a complaint leveled at the state of Clojure’s web libraries. Those coming from Python or Ruby (or even Java) might be used to generators, fixtures, controllers, and views. Our examples have had none of these, and their absence may be jarring to an experienced web developer.