Skip to content
A short series of tutorials on ClojureScript
Find file
Pull request Compare This branch is 1 commit ahead, 1624 commits behind magomimmo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A series of tutorials to guide you in creating and setting up ClojureScript (CLJS) projects.


This series of tutorials will guide you in creating, setting up and running simple CLJS projects. The series follows a progressive enhancement of projects themselves.

Assuming you already have installed leiningen, to run the last available tutorial (i.e. tutorial 6) without coding:

  1. $ git clone
  2. $ cd modern-cljs
  3. $ lein ring server
  4. open a new terminal and cd in modern-cljs
  5. $ lein cljsbuild once
  6. $ lein trampoline cljsbuild repl-listen
  7. visit login.html and/or shopping.html
  8. play with the repl connected to the browser

That said, I suggest coding yourself the content of the tutorials.

Tutorial 1 - The basic

In the first tutorial you are going to create and configure a very basic CLJS project.

Tutorial 2 - Browser CLJS REPL (bREPL)

In this tutorial you are going to set up a browser connected CLJS REPL (bRepl) using an external http-server.

Tutorial 3 - CLJ based http-server

In this tutorial you are going to substitute the external http-server with ring, a CLJ based http-server.

Tutorial 4 - Modern ClojureScript

In this tutorial we start having some fun with CLJS form validation, by porting from JS to CLJS the login form example of Modern Javascript: Development and desing by Larry Ullman.

Tutorial 5 - Introducing Domina

In this tutorial we're going to use domina library to make our login form validation more clojure-ish.

Tutorial 6 - Easy made Complex and Simple made Easy

In this tutorial we're going to investigate and solve in two different ways the not so nice issue we met in the last tutorial.

Tutorial 7 - TO BE DONE



Copyright © Mimmo Cosenza, 2012. Released under the Eclipse Public License, the same as Clojure.

Something went wrong with that request. Please try again.