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
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Preface

Foreword

JavaScript is everywhere. The language was originally designed to permit non-programmers to add dynamic flairs to a new-fangled thing called a webpage. Two decades after its introduction, JavaScript has grown into a versatile, expressive, and complicated language—the most recent ECMAScript standard rivals the Java 1.8 language specification in terms of page count!

Yet in many ways, JavaScript still represents an older way of doing things. Nowadays, many industrial programmers are finding their way to functional programming. While JavaScript has some nice functional features, it lags far behind even the most recent decade of functional programming best practices.

Enter ClojureScript!

First released in 2011, ClojureScript has grown into an essential tool for the discerning programmer, who would love to tap into the reach offered by JavaScript, while leveraging some of best designed immutable datastructures and functional APIs in existence. Importantly, ClojureScript delivers these affordances without getting in the way of tight integration with the JavaScript host.

You can program webpages, iPhones, Androids, and Node.js, all using the same powerful Lisp programming model pioneered by John McCarthy so many years ago.

This book will show you how!

David Nolen ,

ClojureScript Lead Developer

ClojureScript has long been reliable for producing high-quality, highly-performant web applications. At the same time, the ecosystem surrounding the language has grown, both in terms of developers embracing the language and in the availability of high-quality libraries and development tools.

Also, ClojureScript's fundamental promise of reach is being proven with new use cases outside web applications; it's being used for hybrid mobile apps and new, compelling self-hosted scenarios.

In short, ClojureScript has transitioned from being a novel language taken on by early adopters to being an important and relied-upon basis for a stack that is here to stay.

It's easy to find enthusiastic community support when developing with ClojureScript. And, of course, it is tremendous help that ClojureScript is itself extremely similar to Clojure. However, one area that it lacks in is comprehensive and polished documentation, especially with respect to the coverage of the slew of pragmatic issues that accompany the development of real-world applications.

This book fills this gap by providing practical information on how to get set up and running, how to use the constructs offered by the language—most importantly, how to effectively use the available tools in day-to-day development—and how to ultimately ship your app.

We can thank Rafik, David, and Allen for sharing their hard-earned experience with us, providing a one-stop guide with answers to the gamut of questions you are likely to face when using ClojureScript. This book is a much-needed and very welcome treatment of the subject; with it, you can confidently go out and build great ClojureScript apps!

  Mike Fikes ,

Author of the Planck ClojureScript REPL