本文档来自以下github资源的翻译和整理,一个社区驱动的ClojureScript框架、库和包装器列表。
Books
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.
- Cumulo server/client – A pair of libries to sync data among clients, based on WebSocets and diff/patch.
- 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.
- 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
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.
- 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.
HTTP Handler
- Castra – An HTTP remote procedure call handler for Clojure.
Internationalization
- Tower – A Clojure(Script) i18n & L10n library.
- Tempura - A Clojure(Script) i18n library, succeeding Tower
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.
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.
- Garden – A library for rendering CSS in Clojure and ClojureScript.
- inflections-clj – Rails-like inflection library for Clojure and ClojureScript.
- Instaparse – It aims to be the simplest way to build parsers in ClojureScript.
- Keybind – Library for handling key bindings (shortcuts) in browser.
- markdown-clj – Markdown parser in Clojure/ClojureScript.
- om-tools – It aims to provide higher-order abstractions and utilities frequently useful when building components with Om's API.
- Quil – A processing and graphics programming library.
- reforms – Beautiful Bootstrap 3 forms for Om and Reagent.
- reagent-forms – Bootstrap form components for Reagent.
- Respo – A Responsive DOM library, inspired by React.
- Sepal.clj – A library to generate Clojure code from a vector of strings and vectors with macro system.
- Truss – An opinionated assertions API for Clojure/ClojureScript.
- Brutha – A simple and functional ClojureScript interface to React.
- 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.
- 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.
- 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.
- 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.