Clojure: Essential Libs for Web App

By Xah Lee. Date: . Last updated: .

here's sample of clojure libraries. They are dependencies of the gorilla-repl. [see Interactive Clojure Notebook: gorilla-repl]

Libs for Server

ring
Essential web app lib. Abstraction of HTTP. Like python's WSGI and Ruby's Rack. [2014-11-18 https://github.com/ring-clojure/ring ]
http-kit
Ring-compatible minimal HTTP client and server. http://http-kit.org/
ring-json
Standard Ring middleware functions for JSON requests/responses [2014-11-18 https://github.com/ring-clojure/ring-json ]
Compojure
Routing lib for Ring that allows web applications to be composed of small, independent parts. [2014-11-18 https://github.com/weavejester/compojure ]

general web related libs

Hiccup
HTML in Clojure syntax. It uses vectors to represent elements, and maps to represent a element's attributes. [2016-03-31 https://github.com/weavejester/hiccup ]
cheshire
JSON encode/decode. [2014-11-18 https://github.com/dakrone/cheshire ]

base64 encode/decode [2014-11-18 https://github.com/clojure/data.codec ]


nrepl
clojure network repl. Eval clojure code over network. [2014-11-18 https://github.com/clojure/tools.nrepl ]

Database

Carmine
A Clojure Redis client and message queue [2016-04-03 https://github.com/ptaoussanis/carmine ]

front end, JavaScript, ClojureScript

Reagent: Minimalistic React for ClojureScript http://reagent-project.github.io/

misc

clj-semver
version string parser, for example, parse “3.12.2”. [2014-11-18 https://github.com/grimradical/clj-semver ]

For Emacs

cider
emacs integration [2014-11-18 https://github.com/clojure-emacs/cider-nrepl ] [see Emacs: Clojure CIDER Tutorial]
Clojure-complete
is an symbol completion library for Clojure [2014-11-18 https://github.com/ninjudd/clojure-complete ]

not sure about the following. Leaving them here for now.

Simple Logging Facade for Java (SLF4J)
The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (example: java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time. http://www.slf4j.org/

logging framework http://logback.qos.ch/

Clojure


misc