Hey Scott, good start on a popular and relevant topic. However, I feel a that anyone who is considering to start out with RxSwift should consider;
- unlike most other open source projects, RxSwift is a wholesale, take it all or nothing approach to your application - that should pause anyone making commercial software and think about if you want to be dependent to this level on open source,
- RxSwift debugging is very different from the Xcode debugging tools i.e. Xcode breakpoint and all its fancy automation is of little use,
- whilst many asynchronous problems are beautifully stated by RxSwift, not all are. In fact, some may result in obscure, hard to understand code (even when expressed in a few lines).
I do not intent to scare anyone away from RxSwift, just that these considerations need to be part of the selection process and in your case, I think they should be added to the discussion/introduction of your course.
Hi @joosty. I appreciate you for taking the time to share your thoughts. Regarding the points you made…
You can definitely mix in RxSwift in an otherwise traditional non-RxSwift code base. You can even mix RxSwift/RxCocoa with traditional API usage in the same class.
Debugging RxSwift is different from debugging non-RxSwift code, no doubt. However, you can use traditional debugging techniques and things like breakpoints to debug your RxSwift code, and RxSwift also has some very useful debugging tools of its own.
There is a steep-ish learning curve to RxSwift, and in some cases it might not be until you’ve been working with RxSwift for a while that some of the more complex usages become easier to understand when reviewing (someone else’s or your own after a while) code. I hope this course, the RxSwift book, RW tutorials, and other resources will help the inspired and determined developer to become proficient with it and reap its benefits in their projects.