This book is a disappointment.
Learning Rx is a tricky beast. It looks shiny in the beginning. It takes a bit to figure out what observables, subjects and subscriptions are. Then it seems easy and understandable.
And then you start using them. Every day turns into an awkward fight we the library/editor/IDE/compiler. You’re struggling to figure out how to do something that should be trivial. Sure, it makes some things easier, but it makes some easy things awfully harder. You curse yourself about getting into it.
Until you use it for a while. Then it makes perfect sense and easy things are easy again. Your design becomes much better and some problems get greatly simplify it. You consider getting an “Rx” tattoo on a discrete place.
It can be a journey, and in order to teach it, you have to take a structured approach – gradually introduce the concepts, backing them with examples of increasing complexity and real-world-ness. Common pitfalls should be explained and Rx code should be constantly compared with the non-Rx alternatives. The struggles of the reader should be anticipated and addressed. Good narrative takes care of that.
This book doesn’t care about good narrative. Instead, it picks a few tired examples and explodes them in too many pages, struggling to actually explain anything in the meantime. It barely shows a few operators. It barely shows just the most obvious ways to combine them. It barely shows you anything about RxJS. In a few short chapters it’s done with it.
What does it do with all the extra space you ask? Well, talk about Angular of course. Half of the book is basically Angular stuff that you didn’t ask for. It shows a couple of interesting things, but you either need to know Angular to get them or be able to infer it quickly. If you’re already experienced with it, you’ll barely learn anything new. If you don’t know and don’t care... well, neither does this book.
And to cap it off, the final chapter is “reactive game development”, which barely builds a game in a way that one probably shouldn’t emulate when building games. It has a couple of meaningful moments, but they are not enough to remove the bitter taste of having chosen to read all the way through.
You’re better off reading a tutorial about RxJS.
P.S.: Rx is pretty amazing. Depending on what you do, it can be quite useful. I’ve found it irreplaceable in iOS. In React it may be a bit more limited, but it can still find its uses. It’s an approach definitely worth learning. Just not from this book.