This book is for software developers who want to learn how to get started using ClojureScript
to build web browser applications. This book will not assume any prior
knowledge of ClojureScript. We do assume that you have at least a basic working knowledge
of the core JavaScript language. For the sections of this book that deal with
ClojureScript in a web browser, we assume you are familiar with HTML, CSS, the DOM,
and how they are manipulated in JavaScript.
While this book will not assume any prior knowledge of Clojure, it is not designed to
be a comprehensive reference to the Clojure programming language. We will explain
Clojure language concepts in ClojureScript as they become important, but we also recommend
picking up a book on Clojure for a more thorough guide to the language. The
authors of this book wrote Practical Clojure (Apress, 2010) and O’Reilly has released
Clojure Programming by our friends Chas Emerick, Brian Carper, and Christophe
Grand.
Learn how to build complete client-side applications with ClojureScript, the Clojure language variant that compiles to optimized JavaScript. This hands-on introduction shows you how ClojureScript not only has similarities to JavaScript—without the flaws—but also supports the full semantics of its parent language. You’ll delve into ClojureScript’s immutable data structures, lazy sequences, first-class functions, macros, and support for JavaScript libraries.
No previous experience with Clojure or ClojureScript is necessary. If you’re familiar with JavaScript, HTML, CSS, and the DOM, you’ll quickly discover that ClojureScript has the same reach as JavaScript, but with more power.
-
Start writing ClojureScript code with the Leiningen build system
-
Learn how the ClojureScript compiler works to produce optimized JavaScript
-
Use JavaScript functions and libraries directly from ClojureScript code
-
Explore functions in Clojure’s sequence library such as map, reduce, and filter
-
Use macros to define new control structures or embed domain-specific languages
-
Compile manually or script your own workflow with ClojureScript’s compiler tools
-
Integrate ClojureScript with Clojure on the JVM to build powerful client-server applications