RxSwift for Beginners
Updated: May 1, 2021
I am very new to RxSwift, I just learned it few weeks ago, but I am not entirely oblivious of what it's all about and what it can do. I will be sharing what I learned during the time I was studying RxSwift, and what my mistakes/misconceptions before on the different RxSwift operators.
Why didn't I learn RxSwift earlier?
I was a bit stubborn on learning RxSwift because by the time it became very popular, Apple also announced Combine. And I thought that it'd be a waste of time learning both RxSwift and Combine.
When I tried to learn RxSwift by reading some tutorials and youtube videos, I didn't realize some of those tutorials are outdated. So whenever I try to code (from an outdated tutorial), obviously, it didn't work and it frustrates me even more.
I have misunderstood some RxSwift operators - exactly the reason why it is also not working according to how I imagined it will work.
I thought I will only be using these words, Observable and Subscribe, when writing RxSwift. I thought that if I want an observable variable, I just use Observable. If I want an observable function, I use Observable.
Resource I used in studying RxSwift
My tech lead got me a go-signal to buy an RxSwift book from RayWenderlich.com. So, this becomes a company expense and I will be reimbursed for this book. And I think that's the best thing I did (or my tech lead did). Getting a book and consider it as the source of truth. No outdated operators, just the latest from RxSwift 5.1.
And you won't regret buying a book from RayWenderlich, their books are always very easy to understand. I also got another book from them about Data Structures, so I know the quality and how easy it is to understand the concept. And I got most of my misconceptions debunked at Chapter 2. So by that time, I already know what I did wrong before.
I was asked to do a demo after a 2-week study period in front of my team - well, online. And that helps me with my accountability that I have to learn the basics by then. I also updated some of our codes into RxSwift, some suggestions to make some modules better and even question old RxSwift codes we have.
How I study
I've ready Chapters 1-10 twice. So I read it in advance at night, since I can just use my iPad to read it, and then I do a thorough reading + notes taking + code practice by the day. Coding helps me understand more on what's happening and even debug if the results is not how I imagined it to be.
And a few days after my demo, I want to start writing RxSwift for Beginners here in my blog to further my studying and even help other engineers who want to learn it, too. As they say, when you "teach," you learn it twice. And that will definitely help me understand RxSwift more.