Clojure Resources

This is a list of resources that I find useful. It’s not meant to be a comprehensive list (for that checkout clojars or the clojure toolbox) but rather a pointer to clojure learning resources for new clojure programmers. If there is something key that I’m missing that you really like it probably just means I don’t know much about it. So just let me know. Hope you find it useful.

Books / Readings to start with

Clojure Distilled From the creator of Luminus a nice online distillation of the Clojure Language.

Clojure for the Brave and True Great starting point.

Free on line and available in print.

Living Clojure Very good. Particularly if you have some experience in another language.

Web Development with Clojure: Build Bulletproof Web Apps with Less Code 2nd Edition available in Beta

Clojure Applied: From Practice to Practitioner Slightly more advanced book dealing with more real world issues.

Clojure Cookbook: Recipes for Functional Programming Recipes style book with some useful examples. Also available

free online.

ClojureScript Unraveled Good ClojureScript and Clojure resource available online and as a

lean pub

Online Exercises

4Clojure 4Clojure is a resource to help fledgling clojurians learn the language through interactive problems.

Clojure Koans Clojure koans are exercises meant to initiate you to the mysteries of the Clojure language.

IDEs

Try Clojure Not technically an IDE but an easy way to try simple clojure code.

Light Table Probably the simplest IDE to start with.

Cursive Plugin for IntelliJ. Will eventually be a standalone IDE too. Great if you use/like IntelliJ or want to learn.

Cider Emacs Library for Clojure. Great if your a dinosaur like me and use Emacs. :)

Spacemacs VIM like mode for Emacs. Never used it myself but a really smart friend of mine swears by it. If you dig VIM check this out.

Nightcode and

Nightmod are by Zack Oakes. I’ve used Nightmod in a Programming games with Clojure workshop and Nightcode comes highly recommended by Nathan, a friend.

Atom editor with Proto-repl this is another one that I personally have not used but comes highly recommended especially by Jeff for (JavaScript) developers that are used to the Atom Editor. Check it out if that would benefite you.

Cheat Sheets

Clojure Cheat Sheet

ClojureScript Cheat Sheet

Talks / Videos

Simple Made Easy

Language of the System

Hammock-driven Development

Talk Transcripts

Web Development

Luminus A great collection of libraries and template for building webapps.

Compojure Minimal Ring based web routing. Great for experimenting or if you want bare bones starting point. For production apps you’ll end up adding many of the libraries chosen for you in Luminus or similar.

ClojureScript

Figwheel You have to check out figwheel now. Seriously, what are you doing here. Go watch the video.

Modern ClojureScript Tutorials Great intro to CLJS.

React Based Libraries

Reagent I strongly suggest you start here.

Re-Frame Everyone should read the read me.

om.next Lots of great ideas but can be overwhelming for many developers.

DB access

HoneySQL A really good modern way to access SQL databases.

Yesql An interesting approach to specifying the queries yourself in text and using them in SQL. IMO particularly good for complicated queries.

Korma - older library, ground breaking in its day, popular in the past but function rather than data driven. Check out HoneySQL first.

Validation / Data Modeling

Schema Has become the defacto standard for validation / (type) structural checking.

Authentication

Buddy A simple complete security library.

Friend A good older library that is frequently used but that I find a bit confusing.

HTTP Requests

CLJ HTTP Classic way to make http requests.

HTTP Kit Async client similar to clj-http. Don’t let the server part confuse you. Can be used by itself.

Application Lifecycle

Mount A recent alternative to component

Component Popular library for lifecycle management and dependency injection from Stuart Sierra.

Trapperkeeper Similar idea from Puppet Labs

Web Templating

Hiccup Clojure data structure based html generation.

Stencil Mustache for Clojure

Selmer Django style templates

Clojure Library Listings

Clojars The repo for library jars. Can be useful to search.

Clojure Toolbox An extensive list of popular Clojure projects.

Other Resources

Clojurians Slack Group

Clojure Google Group

ClojureScript Google Group

PurelyFunctional.tv Videos and training.