Build modern single-page apps using classic Clojure server-side routing, authentication, etc

Hi everybody!

I recently discovered Inertia.js, a solution that offers to develop SPAs without having to write APIs.
I want to share it with the community.

From their website:

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

Inertia works within two parts, server-side and client-side adapters.:

  1. Client-side: Since we have ClojureScript, we can rely on Inertia-React package and run it with all React wrappers (Reagent, Rum, Helix, etc).

  2. Server-side, I wrote this following Clojure adapter (Ring middleware):

I added today two new demos - thx to @seancorfield 's usermanager :wink: - for those want to play with it:

  1. Integrant / Reitit stack: GitHub - prestancedesign/reagent-inertia-reitit-integrant-fullstack: Single Page App demo in Clojure, Ring, Reitit and Reagent / Inertia.js
  2. Component / Compojure stack: GitHub - prestancedesign/usermanager-reagent-inertia-example: Single Page App demo in Clojure, Ring, Compojure and Reagent / Inertia.js

Do not hesitate if you have any questions or remarks.
Feebacks are welcome!

Cheers!

5 Likes