Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Inertia.js
  3. Clojure

Clojure

EPL-1.0Clojure

A Ring middleware adapter for Inertia.js to build single-page apps in Clojure without building a separate API.

Visit WebsiteGitHubGitHub
103 stars3 forks0 contributors

What is Clojure?

Inertia Clojure is a Ring middleware adapter for Inertia.js that allows Clojure developers to build single-page applications without creating a separate API. It bridges server-side Clojure routes with client-side JavaScript frameworks by following the Inertia.js protocol, enabling a seamless full-stack development experience.

Target Audience

Clojure web developers using Ring-based frameworks (e.g., with Reitit or Compojure) who want to build modern SPAs with minimal complexity and avoid maintaining a separate API layer.

Value Proposition

Developers choose Inertia Clojure because it integrates Inertia.js into the Clojure ecosystem, reducing boilerplate and enabling rapid development of full-stack SPAs with familiar server-side routing and templating libraries.

Overview

A Clojure adapter for Inertia.js

Use Cases

Best For

  • Building single-page applications in Clojure without a separate API
  • Integrating React, Vue, Svelte, or Reagent apps with a Clojure backend
  • Using Ring middleware with Inertia.js for full-stack Clojure projects
  • Developing SPAs with server-side routing via Reitit or Compojure
  • Leveraging Inertia.js features like partial reloads and shared data in Clojure
  • Creating full-stack demos or prototypes quickly with Clojure and JavaScript frameworks

Not Ideal For

  • Teams building a public REST API for third-party clients or mobile apps
  • Projects aiming for a pure ClojureScript frontend without JavaScript frameworks like React or Vue
  • Applications requiring advanced server-side rendering with zero JavaScript hydration

Pros & Cons

Pros

Ring Middleware Integration

Seamlessly fits into any Ring-based Clojure app, as shown with compatibility for routing libraries like Reitit or Compojure in the usage examples.

Template Flexibility

Allows developers to use any HTML templating library (e.g., Hiccup, Selmer) by only requiring a data-page attribute in the template function, per the README.

Inertia.js Feature Support

Implements key Inertia.js features like shared data, partial reloads, and asset versioning, which optimize performance and ensure consistency, as listed in the features.

Minimal Boilerplate

Eliminates the need for a separate API layer, reducing complexity and enabling rapid full-stack SPA development, aligning with the Inertia.js philosophy described.

Cons

Missing Advanced Features

The README explicitly notes that lazy loaded props and root template data are not yet implemented, limiting some Inertia.js capabilities for complex apps.

Complex Setup Requirements

Requires understanding both Inertia.js protocol and Ring middleware, with the middleware needing to be the last item in the chain, which can be error-prone for newcomers.

Niche Ecosystem

As a Clojure-specific adapter for Inertia.js, it has fewer community resources and examples compared to mainstream JavaScript SPA frameworks or other Clojure web tools.

Frequently Asked Questions

Quick Stats

Stars103
Forks3
Contributors0
Open Issues1
Last commit4 years ago
CreatedSince 2021

Tags

#single-page-app#compojure#reagent#server-side-rendering#ring-middleware#inertia-js#ring#clojure#fullstack#inertiajs-adapter#react#inertiajs#middleware

Built With

C
Clojure
r
ring

Links & Resources

Website

Included in

Inertia.js253
Auto-fetched 9 hours ago

Related Projects

LaravelLaravel

The Laravel adapter for Inertia.js.

Stars2,473
Forks289
Last commit4 days ago
RailsRails

The Rails adapter for Inertia.js.

Stars1,231
Forks104
Last commit19 days ago
DjangoDjango

The Django adapter for Inertia.js

Stars598
Forks58
Last commit22 days ago
PhoenixPhoenix

The Phoenix adapter for Inertia.js.

Stars499
Forks24
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub