Sections (2) ▾ Sections
Resources 0 Awesome ClojureScript 0
Awesome ClojureScript
A community driven list of ClojureScript books, frameworks, libraries and wrappers.
Resources Books
ClojureScript Unraveled – An open source book about the ClojureScript language that covers all the language features, how to use the compiler and the tooling for building applications and libraries.
ClojureScript Unraveled (2nd edition) – An open source book about the ClojureScript language that covers all the language features, how to use the compiler and the tooling for building applications and libraries.
ClojureScript: Up and Running – An introduction to ClojureScript written by big guns of Clojure Stuart Sierra and Luke VanderHart.
Clojure, The Essential Reference – A reference book on the Clojure language and standard library.
Etudes for ClojureScript – A hands-on-book of 30 companion exercises or études for introducing ClojureScript.
Learning ClojureScript – Master the art of agile single page web application development with ClojureScript.
Transforming Data with ClojureScript – A beginner's guide to ClojureScript with interactive examples and exercises, "focusing on the main task that programming does—transforming data".
Courses
ClojureScript Koans – A great way to start learning Clojure and ClojureScript on the web with interactive challanges.
Lambda Island – A full-stack web development course including front-end with ClojureScript, back-end with Clojure, language essentials, security, internet standards and system administration.
Learn Reagent – An introduction to ClojureScript with Reagent for developers. 1 hour free content is available. learn re-frame is its follow up.
Learning ClojureScript – A 2h 11m long introduction to Clojurescript by O'Really Online Learning. Also available on Udemy .
Videos
Awesome ClojureScript Canvas
Monet – A small ClojureScript library to make it easier to work with canvas and visuals.
Quamolit – A tiny declarative animation library , inspired by React.
Client/Server Communication
cljs-ajax – A simple Ajax client for ClojureScript and Clojure.
Fetch – A ClojureScript library that makes client/server interaction painless.
Code Analysis
kibit – Static code analyzer to find patterns of code that could be rewritten with a more idiomatic function or macro.
Data Serialization
Cljson – Clojure/ClojureScript library for accelerated browser data deserialization.
Transit – A data interchange format and set of libraries for conveying values between applications written in different programming languages.
Data Visualization
C2 – It lets you declaratively create HTML and SVG markup based on data.
Database
Datascript – An immutable in-memory database and Datalog query engine in ClojureScript.
Jaki – A simple ClojureScript CouchDB client.
Konserve – A clojuresque key-value/document store protocol with core.async.
specql – Library for simple PostgreSQL queries with namespaced keys.
Development
Ambly – A ClojureScript REPL into iOS JavaScriptCore.
cljs-devtools – Better presentation of ClojureScript values in Chrome Devtools.
Devcards – Devcards aims to provide a visual REPL experience for ClojureScript.
Instaparse – It aims to be the simplest way to build parsers in ClojureScript.
lein-cljsbuild – A Leiningen plugin to make ClojureScript development easy.
lein-figwheel – Leiningen plugin that pushes ClojureScript code changes to the client.
Lumo – Fast, cross-platform, standalone ClojureScript environment.
Planck – A stand-alone ClojureScript REPL for macOS and Linux based on JavaScriptCore.
Ribol – Conditional restarts for clojure/clojurescript.
shadow-cljs – ClojureScript compilation made easy
Truss – An opinionated assertions API for Clojure/ClojureScript.
Document Object Model
cljs-binding – It binds html elements to ClojureScript functions.
Crate – A ClojureScript implementation of Hiccup.
Dominator – Virtual-Dom in ClojureScript.
Dommy – A no-nonsense ClojureScript templating and DOM manipulation library.
Enfocus – A DOM manipulation and templating library for ClojureScript inspired by Enlive.
Freactive – A high-performance, pure Clojurescript, declarative DOM library inspired by reagent, om, reflex and hiccup.
Hiccups – A ClojureScript port of the Hiccup.
Hickory – It parses HTML into Clojure data structures, so you can analyze, transform, and output back to HTML.
json-html – Provide JSON and get a DOM node with a human representation of that JSON.
Kioo – DOM manipulation and templating library for Facebook's React and Om in ClojureScript.
Respo – A responsive DOM library, inspired by React.
Sablono – Lisp/Hiccup style templating for Facebook's React in ClojureScript.
Documentation
codox – A tool for generating API documentation from Clojure or ClojureScript source code.
Graphics
geom – A 2D/3D geometry toolkit for Clojure/Clojurescript.
Quil – A processing and graphics programming library.
HTTP Handler
Castra – An HTTP remote procedure call handler for Clojure.
Internationalization
Tempura – A Clojure(Script) i18n library, succeeding Tower
Tower – A Clojure(Script) i18n & L10n library.
JavaScript Interoperability
CLJSJS – An easy way for Clojurescript developers to depend on Javascript libraries.
Jayq – A ClojureScript wrapper for jQuery.
Purnam – A ClojureScript library designed to provide better clojurescript/javascript interop, testing and documentation tools.
Pylon – A Javascript class system in 100% Clojurescript.
Garden – A library for rendering CSS in Clojure and ClojureScript.
stylefy – stylefy makes it possible to define UI component styles as Clojure data and attach them into components easily without writing CSS selectors
Miscellaneous
Automat – A Clojure(Script) library for defining and using finite-state automata, inspired by Ragel.
Bardo – A Clojure(Script) library for functional interpolation and transitions.
core.async – A Clojure(Script) library designed to provide facilities for async programming and communication.
Entanglement – It creates atoms from other atoms and links the data together.
inflections-clj – Rails-like inflection library for Clojure and ClojureScript.
Keybind – Library for handling key bindings (shortcuts) in browser.
markdown-clj – Markdown parser in Clojure/ClojureScript.
namespacefy – A simple Clojure(Script) library which aims to make it easy to keep map keys namespaced, no matter where your data comes from.
om-tools – It aims to provide higher-order abstractions and utilities frequently useful when building components with Om's API.
reforms – Beautiful Bootstrap 3 forms for Om and Reagent.
reagent-forms – Bootstrap form components for Reagent.
Sepal.clj – A library to generate Clojure code from a vector of strings and vectors with macro system.
[React.js](https://facebook.github.io/react/) Interface
Brutha – A simple and functional ClojureScript interface to React.
cljsx – JSX for Clojure and ClojureScript, also works with Inferno , Nerv , Preact , Snabbdome and others.
Helix – A simple, easy to use library for React development in ClojureScript with very few semantics on top of React.
hx – Another simple, easy to use library for React development in ClojureScript.
Om – A powerful interface to React, makes use of its object oriented structures.
Quiescent – It favors functional style, fully stateless.
re-com – A ClojureScript library of reusable components for Reagent.
Reagent – Minimalistic, feature complete.
Rum – Decomplected, extensible, simple.
Reactive Programming
Javelin – A Functional Reactive Programming library for ClojureScript.
Manifold-cljs – A port of Manifold to ClojureScript.
Reagi – An FRP library for Clojure and ClojureScript, built on top of core.async.
rx-cljs – A ClojureScript wrapper for Reactive Extensions (Rx) for Javascript.
Yolk – A thin ClojureScript wrapper around bacon.js.
Routing
Bidi – A Clojure(script) data driven routing library.
Router – Bidirectional Ring router for Clojure/Script. REST oriented.
Secretary – A client-side router for ClojureScript.
Silk – An isomorphic routing library for Clojure & ClojureScript.
State Management
component – Managed lifecycle of stateful objects in Clojure(Script).
hodgepodge – A idiomatic ClojureScript interface to HTML5 Storage.
mount – A beautifl idiomatic state management library.
plato – Incrementally persists atom state to Local Storage in ClojureScript.
storage-atom – ClojureScript atoms backed by HTML5 web storage.
Tuck – A micro framework for building Reagent apps that have a clean separation of view code and event processing code.
Waltz – A ClojureScript library that helps manage state in client-side applications using non-deterministic finite state machines.
Testing
cljs.test – Integrated test framework for ClojureScript (merged from clojurescript.test )
Expectations – A minimalist's unit testing framework.
Speclj – A TDD/BDD framework for Clojure and ClojureScript.
test.check – A generative property-based testing tool inspired by QuickCheck.
Validation
Bouncer – A validation DSL for Clojure & Clojurescript applications.
form-validator-cljs – Validate forms with spec and fn.
Validateur – A Clojure validation library inspired by Ruby's ActiveModel.
Web Framework & Template
atw-om – A web application template with Clojure/Compojure, ClojureScript/Om & core.async.
Chestnut – An Application template for ClojureScript/Om with live reloading.
Clops – An opinionated, full stack and easy to use web framework.
descjop – A template for Web based desktop application with Electron.
electron-template – A template for creating web based desktop applications with Electron, ClojureScript and Reagent.
Fulcro – A library for development of single-page full-stack web applications in clj/cljs.
Hoplon – Write everything in Clojure and ClojureScript, clientside and serverside.
Keechma – Micro frontend framework for ClojureScript and Reagent.
Luminus – It aims to provide a robust, scalable, and easy to use platform.
Macchiato – It aims to provide an easy to use platform for Node.js.
Mies – A minimal ClojureScript project template.
Mr-Clean – A reagent compatible library without react.js dependency.
Precept – A declarative programming framework.
re-frame – A Reagent Framework For Writing SPAs, in Clojurescript.
Tenzing – A ClojureScript template with no backend that uses Boot.
WebFUI – Client-Side Web Framework for ClojureScript.
WebSockets
Chord – Designed to bridge the gap between the triad of CLJ/CLJS, web-sockets and core.async.
Sente – Clojure(Script) + core.async + WebSockets/Ajax.