Book Image

Clojure Reactive Programming

Book Image

Clojure Reactive Programming

Overview of this book

Table of Contents (19 chapters)
Clojure Reactive Programming
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Bibliography
Index

Intercomponent communication


In our previous example, the components we built communicated with each other exclusively through the application state, both for reading and transacting data. While this approach works, it is not always the best except for very simple use cases. In this section, we will learn an alternate way of performing this communication using core.async channels.

The application we will build is a super simple virtual agile board. If you've heard of it, it's similar to Trello (see https://trello.com/). If you haven't, fear not, it's essentially a task management web application in which you have cards that represent tasks and you move them between columns such as Backlog, In Progress, and Done.

By the end of this section, the application will look like the following:

We'll limit ourselves to a single feature: moving cards between columns by dragging and dropping them. Let's get started.

Creating an agile board with Om

We're already familiar with the om-start (see https://github...