Section 1: Tools of the Trade
ClojureScript is a very productive and efficient language. While these features stem largely from the language itself, ClojureScript owes quite a bit of its productivity to the tools and common practices that have developed around it (like its Lisp predecessors over the past few decades). While there are some code samples and exercises in this section - including a simple but complete application in Lesson 8 - the focus is on learning the tools that will make you an effective ClojureScript programmer. Just as a new JavaScript developer needs a basic understanding of Babel, Webpack, and the browser dev tools, a new ClojureScript developer ought to have a familiarity with the tools that we cover in this section.
Now that we have a high-level perspective on ClojureScript as a language and its place in the JavaScript ecosystem, we will walk through the process of bootstrapping a new ClojureScript project using the ClojureScript compiler and its included build tooling. Next, we will introduce Figwheel, an invaluable tool for live-reloading code and styles, and we will learn how to write code that is conducive to live reloading. Then, we will introduce the REPL - an extremely powerful tool for experimenting with small snippets of code. Finally, we will use these tools to create a weather forecasting app that showcases and live reloading. This project is intended to convey a taste of the process of developing ClojureScript rather than giving a deep understanding of the code. Don’t worry though: in the following section, we will begin our exploration of the syntax and semantics of the language!