Book Image

Learning ClojureScript

By : W. David Jarvis, Allen Rohner
Book Image

Learning ClojureScript

By: W. David Jarvis, Allen Rohner

Overview of this book

Clojure is an expressive language that makes it possible to easily tackle complex software development challenges. Its bias toward interactive development has made it a powerful tool, enabling high developer productivity. In this book, you will first learn how to construct an interactive development experience for ClojureScript.. You will be guided through ClojureScript language concepts, looking at the basics first, then being introduced to advanced concepts such as functional programming or macro writing. After that, we elaborate on the subject of single page web applications, showcasing how to build a simple one, then covering different possible enhancements. We move on to study more advanced ClojureScript concepts, where you will be shown how to address some complex algorithmic cases. Finally, you'll learn about optional type-checking for your programs, how you can write portable code, test it, and put the advanced compilation mode of the Google Closure Compiler to good use.
Table of Contents (15 chapters)
Learning ClojureScript
About the Authors
About the Reviewer


In this chapter, we reviewed some of the many possible ways to design user interfaces on the browser with ClojureScript.

First, we've seen how to adopt an approach dictated by ClojureScript's host language, JavaScript, via direct interoperability, as well as via Jayq (a library offering functional access to jQuery).

We've learned how we can use the Google Closure Library, a central piece of the ClojureScript's compiler, either directly or via a layer of abstraction (using Domina).

Then, we saw how to use Dommy, which is a ClojureScript library designed with functional idioms as its main motivation.

Next we delved into client-side templating languages and reviewed two libraries inspired by the two major server-side HTML templating libraries in the Clojure ecosystem: Hipo and Enfocus.

Lastly, we reviewed the place of a CSS preprocessor in front-end web development, and saw how to use Garden, a Clojure/ClojureScript CSS preprocessor, as a means to prototype CSS generation from the comfort...