Clojure: Essential Libs for Web App
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 a 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/