App Architecture is something that is tricky to get right, but is possibly one of the most worthwhile pursuits of the aspiring developer. Having worked with React Native in the past, it was interesting to see how iOS handles reactive programming in its own curious way initially. Over the years I’ve become accustomed to the standard way of doing things: Delegates, Callbacks & Notification Centre. However, times have changed and RxSwift is going nowhere so I wanted to explore the more complex APIs available as a solution to binding the view to the view model.
Imagine a world where your View Controllers are separated from the Models and the display logic is contained in their own View Models. ‘We have that’ you say: ‘it’s called MVVM’. This is true, but without binding the two together we’re missing out on declarative and separated data flow and how it affects the UI.
The only issue is the learning curve. Utilising Coordinators and View Models are reasonably straightforward, but I’ve spent a fair amount of time figuring out real-world examples of how to utilise RxSwift in an actual project.
In my upcoming blogs I’m going to be building my next course and plotting some of the points along the way – a practical and useful guide to using RxSwift for busy developers who want to get maximum benefit from the framework right away.