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

Deploying Clojure and ClojureScript applications in a Docker container

In this final section, we'll cover deploying our client and server application code in a single Docker container. Containers are a technology that you can use to wrap up a piece of software in a complete filesystem that includes everything it needs to run: application code, a runtime, system tools, system libraries, and so on—anything you might otherwise install on a server. Using container technology provides a way of guaranteeing that your application will always run the same regardless of the underlying environment it is running in.

Today, many cloud infrastructure providers offer products and services that have direct support for Docker. For instance, if you're using Amazon Web Service's Elastic Beanstalk to host, deploy, and scale your application, you can deploy a container directly by telling the Elastic Beanstalk API to deploy a specific container ID from a given Docker registry and it'll know what to do.