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...