A History of Clojure (2020) [pdf]

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • kit

    Lightweight, modular framework for scalable web development in Clojure (by kit-clj)

  • fulcro

    A library for development of single-page full-stack web applications in clj/cljs

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Graal

    GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

  • Ah, yeah, that's probably a bit far off in the future. Probably would be possible via GraalVM once GC is available, https://github.com/oracle/graal/issues/3391

  • reagent

    A minimalistic ClojureScript interface to React.js

  • * Single-Page App: shadow-cljs for the build concerns (https://github.com/thheller/shadow-cljs), Reagent with Re-frame for complex/large app (https://reagent-project.github.io and https://github.com/day8/re-frame). Even if we now prefer using HTMX (https://htmx.org) and server-side rendering (Hiccup way of manipulating HTML is just amazing, https://github.com/weavejester/hiccup).

  • ring

    Clojure HTTP server abstraction

  • * HTTP: Ring is the de facto way to manage HTTP request (see https://github.com/ring-clojure/ring/wiki/Concepts). Jetty and Aleph are common web servers (and https://github.com/clj-commons/aleph) that implement Ring interface.

  • aleph

    Asynchronous streaming communication for Clojure - web server, web client, and raw TCP/UDP

  • * HTTP: Ring is the de facto way to manage HTTP request (see https://github.com/ring-clojure/ring/wiki/Concepts). Jetty and Aleph are common web servers (and https://github.com/clj-commons/aleph) that implement Ring interface.

  • htmx

    </> htmx - high power tools for HTML

  • * Single-Page App: shadow-cljs for the build concerns (https://github.com/thheller/shadow-cljs), Reagent with Re-frame for complex/large app (https://reagent-project.github.io and https://github.com/day8/re-frame). Even if we now prefer using HTMX (https://htmx.org) and server-side rendering (Hiccup way of manipulating HTML is just amazing, https://github.com/weavejester/hiccup).

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • reitit

    A fast data-driven routing library for Clojure/Script

  • shadow-cljs

    ClojureScript compilation made easy

  • * Single-Page App: shadow-cljs for the build concerns (https://github.com/thheller/shadow-cljs), Reagent with Re-frame for complex/large app (https://reagent-project.github.io and https://github.com/day8/re-frame). Even if we now prefer using HTMX (https://htmx.org) and server-side rendering (Hiccup way of manipulating HTML is just amazing, https://github.com/weavejester/hiccup).

  • re-frame

    A ClojureScript framework for building user interfaces, leveraging React

  • * Single-Page App: shadow-cljs for the build concerns (https://github.com/thheller/shadow-cljs), Reagent with Re-frame for complex/large app (https://reagent-project.github.io and https://github.com/day8/re-frame). Even if we now prefer using HTMX (https://htmx.org) and server-side rendering (Hiccup way of manipulating HTML is just amazing, https://github.com/weavejester/hiccup).

  • hiccup

    Fast library for rendering HTML in Clojure

  • * Single-Page App: shadow-cljs for the build concerns (https://github.com/thheller/shadow-cljs), Reagent with Re-frame for complex/large app (https://reagent-project.github.io and https://github.com/day8/re-frame). Even if we now prefer using HTMX (https://htmx.org) and server-side rendering (Hiccup way of manipulating HTML is just amazing, https://github.com/weavejester/hiccup).

  • malli

    High-performance data-driven data specification library for Clojure/Script.

  • mount

    managing Clojure and ClojureScript app state since (reset)

  • * Lifecycle management: Mount, Integrant or Component (https://github.com/tolitius/mount https://github.com/weavejester/integrant and https://github.com/stuartsierra/component)

  • integrant

    Micro-framework for data-driven architecture

  • * Lifecycle management: Mount, Integrant or Component (https://github.com/tolitius/mount https://github.com/weavejester/integrant and https://github.com/stuartsierra/component)

  • component

    Managed lifecycle of stateful objects in Clojure (by stuartsierra)

  • * Lifecycle management: Mount, Integrant or Component (https://github.com/tolitius/mount https://github.com/weavejester/integrant and https://github.com/stuartsierra/component)

  • aero

    A small library for explicit, intentful configuration. (by juxt)

  • environ

    Library for managing environment variables in Clojure (by weavejester)

  • mulog

    μ/log is a micro-logging library that logs events and data, not words!

  • tick

    Time as a value.

  • kaocha

    Full featured next gen Clojure test runner

  • timbre

    Pure Clojure/Script logging library

  • Mentioning μ/log and no mention of timbre (https://github.com/taoensso/timbre), that is an odd omission. Malli is a great mention, but there ought to be a mention of clojure.spec (https://github.com/clojure/spec.alpha) which has much more mindshare.

  • spec.alpha

    Clojure library to describe the structure of data and functions (by clojure)

  • Mentioning μ/log and no mention of timbre (https://github.com/taoensso/timbre), that is an odd omission. Malli is a great mention, but there ought to be a mention of clojure.spec (https://github.com/clojure/spec.alpha) which has much more mindshare.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts