Creating Your Own CES Framework with core.async
In the previous chapter, it was alluded to that core.async operates at a lower level of abstraction when compared to other frameworks, such as RxClojure or RxJava. This is because, most of the time, we have to think carefully about the channels we are creating, as well as what types and sizes of buffers to use, whether we need pub/sub functionality, and so on.
Not all applications require such level of control, however. Now that we are familiar with the motivations and main abstractions of core.async, we can embark on writing a minimal CES framework, using core.async as the underlying foundation.
By doing so, we avoid having to think about thread pool management, as the framework takes care of that for us.
In this chapter, we will cover the following topics:
- Building a CES framework using core.async as its underlying concurrency strategy
- Building an application that uses our CES framework
- Understanding the trade-offs in terms of the different approaches that have been presented so far