John Stevenson | Devoxx

John Stevenson
John Stevenson Twitter

From Heroku / Salesforce

Speaker, author, conference organiser & community obsessed developer - loves Clojure, Emacs, Cats, Cycling & Agile development. @Heroku @SalesforceDevs


web Modern Web

Adventures in Clojurescript & Reactive Apps

Hands-on Labs

Building modern reactive full-stack webapps with Javascript feels like being an explorer in a wild frontier, you never know when something is going to bite you!

Clojurescript is a well designed functional programming language allowing developers to concentrate on what their webapps should do, rather than be tied up in the mechanics of the language. The dynamic nature of ClojureScript supports highly interactive development for rapid prototyping; coupled with a built-in specification library & generative testing you can easily develop a robust and well defined codebase.

By encouraging immutability via persistent data structures and using the core.async library to write asynchronous code in a synchronous style, you gain huge performance boost whilst clearly reasoning about your code.

Reactive apps are supported by Clojurescript libraries or using React.js directly.

Discover how you can generate highly optimised JavaScript through dead code elimination as well as simple interoperability with poplular Javascript libraries, giving you a modern way to build complex web apps.

Speaker Q&A

Who should attend your session?

​Any developer interested in writing reactive frontend web apps, or some simple games, who want to try the functional approach in a nice clean language.​ Or anyone just curious about Clojure/Clojurescript.

No Clojurescript or Javascript experience is required, although understanding the basic concepts of HTML, CSS, JS & React will make things a little easier for your brain.

What are the 'next steps' for an attendee to take after attending your session?

​The workshop content will include additional tutorials and resources for your continued journey into Clojure, Clojurescript and reactive ​apps. Attendees can practice what they have learnt at coding dojos held by the community.

Who is your favourite British fictional character?

​Baldrick (from Blackadder)​. I have a cunning plan...

How can developers get into ClojureScript?

Apart from my wonderful workshop, anyone can get into Clojurescript by visiting

The syntax is the same for Clojure, so the most challenging bit is understanding front-end development and React concepts.

​The community runs 4 events every month, so plenty of chance to join in the fun.​

What are the advantages over other popular languages for apps?

Clojurescript has a very small syntax and helps you solve complex problems by composing immutable functions together. Each part of your application is therefore very easy to understand and its behaviour is deterministic (when using pure functions).

​Clojurescript also enables you to write asyncronous applications simply, using the concept of channels.

With built-in immutable data structures, it’s simple to parallelize your application over multiple cores without having to manage state mutation, leading to very high scalability of your applications.

​Its arguably the most fun language ever invented.​