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. 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 https://github.com/ring-clojure/ring-json

Compojure → routing lib for Ring that allows web applications to be composed of small, independent parts. https://github.com/weavejester/compojure

general web related libs

Hiccup → HTML in Clojure syntax. It uses vectors to represent elements, and maps to represent an element's attributes. https://github.com/weavejester/hiccup

cheshire → JSON encode/decode. https://github.com/dakrone/cheshire

base64 encode/decode https://github.com/clojure/data.codec


nrepl → clojure network repl. Eval clojure code over network. https://github.com/clojure/tools.nrepl

Database

Carmine → A Clojure Redis client and message queue 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”. https://github.com/grimradical/clj-semver

For Emacs

cider → emacs integration https://github.com/clojure-emacs/cider-nrepl [see Emacs: Clojure CIDER Tutorial]

Clojure-complete → is an symbol completion library for Clojure 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 (e.g. 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/

If you have a question, put $5 at patreon and message me.

Clojure

  1. Clojure Install
  2. Leiningen Basics
  3. Emacs CIDER
  4. Doc Lookup, Find f

  1. Clojure Basics
  2. List, Map, …
  3. Functions
  4. Function Chaining
  5. Partial Function
  6. Binding Form
  7. regex
  8. Namespace
  9. metadata
  10. macro
  11. Calling Java
  12. Magic Chars '\@^#`~.

misc