My answer to this question is…absolutely yes! Here are 5 reasons why I think it’s still a great idea to learn RxSwift today.
You’re not alone
If you worry that the community is full of seasoned veterans and you’re simply too late to the party, then you’d be wrong. Yes there are lots of very clever people doing very cool things, but there are also many people just like you, who are just getting started. Join the RxSwift Slack and you will see Rx newbies asking questions every single day. People have been learning, experimenting and building with RxSwift for years, and in great numbers. This means there are lots of fantastic resources out there to get started, and lots of smart people who can help you. 👋
Oh the resources!
There are lots of great books, blog posts and articles out there on an endless variety of topics related to RxSwift. So you should have no problem finding tutorials and explanations of the basic concepts to kick things off. Also, checkout the huge collection of repo’s available on the RxSwift Community GitHub. A passionate bunch of people have been solving problems in RxSwift for years, so the number of tools available to you as an RxSwift developer is vast! 📚
You’ve got to start somewhere
Functional reactive programming has been increasing in popularity for some years, and Apple has clearly been paying attention, as we all learned at WWDC in 2019 when they announced Combine. To have a first party solution is fantastic, but Combine is still quite new and lacks some of the maturity of RxSwift, not to mention that Combine only supports iOS 13 and upwards. So if you want to be a functional reactive ninja, as it currently stands you’re going to need to learn both. So where should you start? Set yourself up for success and start with RxSwift. 💯
If you’ve seen one, you’ve seen ‘em all
Learning the basics of RxSwift is relatively straight forward. The real challenge comes in shifting your mindset from an object oriented perspective to a functional reactive one, and then putting everything together in a large scale, production project. This is the heavy lifting and where the hard work is at. Doing this alongside a great community and lots of resources will enable you to easily transfer your knowledge to Combine, once you feel comfortable with your newly found reactive powers, courtesy of RxSwift. 🥷
UIKit is here to stay (sort of)
SwiftUI is making great strides, and when paired with Combine is very powerful. But UIKit is not going to disappear anytime soon. There will still be many legacy projects written in UIKit for some years to come, and RxSwift (along with RxCocoa) is an excellent choice for reactive UIKit apps. Experience with RxSwift is going to be a valuable skill on your resume for some time yet. 🤓
Conclusion
When deciding whether you should learn RxSwift or Combine, my suggestion is to embrace both, but don’t discount RxSwift as being redundant just because Combine has entered the arena. Become a solid, well rounded reactive guru with knowledge of both. Personally, I would start with RxSwift for all of the reasons above, and then gracefully slide all of your skills over to Combine when you’re ready. Of course, you could ignore all of the above and just learn Combine, but why not catch up with all the cool kids and get “RxSwift” listed on your resume after all. 😎
In the next article we’ll look at a simple roadmap you can follow to get you started on your reactive journey with RxSwift! Thanks for reading, and subscribe below so that you don’t miss that next article! 🚀