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

Chapter 7. Going Further with ClojureScript

At this point, you have all the tools you need to build serious, production-ready web applications in ClojureScript. You've learned how the language works, how to write functional and idiomatic code, and how to compose that code into greater web applications using the latest industry best practices. We could call it a day here, but we won't. Instead, in this chapter, we'll take a look at some interesting libraries and subject domains in the ClojureScript ecosystem that are a little further afield from the subject matter we've covered so far.

The subjects we'll be examining in this chapter range from more esoteric core ClojureScript namespaces to third-party libraries such as Prismatic's schema. We'll also take a look at two of the more interesting "core" libraries—libraries whose development process, like core.async, is managed by Cognitect and the core ClojureScript development team, but that are standalone dependencies. Specifically, we'll be...