Practicalli Clojure Web Services banner

A guide to developing server-side web services and API's from the ground up using Clojure, aiming for a simple and clean design using functional programming concepts.

A REPL Driven development workflow provides a fast feedback loop, showing how the code works as its being written.

Relevant theory and background reading is included whilst keeping the practical focus of this guide on build projects and experimenting with the code.

Clojure CLI and deps.edn

Projects are created and configure using Clojure CLI tools, using deps.edn for configuration. Older content uses Leiningen for project configuration.

Component / library approach

The Clojure community has a diverse set of libraries which focus on a specific need. These libraries are assembled to rapidly develop a tailored solution. Using a library approach means those libraries are relatively simple to replace with alternatives or your own libraries.

Project templates are used to create projects that include commonly used libraries, along with example code, demonstrating how common services can be assembled. Templates have options to configure the project as its created, customising to the specific needs of the problem being solved.

Clojure does not focus on the classic framework approach like Rails or Spring, for a very good reason.

Frameworks are design decisions others have made without knowing the context of the current problem at hand, so there is no guarantee on how many of those decisions are relevant. Frameworks tend to include many features not relevant to the current problem. Frameworks can be over relied upon, taking away an opportunity to think about the most relevant solution.

Built with Spacemacs

Discussions and feedback

Join the conversation on Clojurians Slack

Get a free Clojurians slack community account


Practicalli Clojure Web Services by Practicalli is licensed under CC BY-SA 4.0

results matching ""

    No results matching ""