If you own an Apple Watch, you probably noticed something disappointing: 3rd party apps are SLOW.
If you’ve written a watch app, you’ll know that a big part of the problem lies in the bandwidth limitations of phone to watch communication. Architecting a performant WatchKit extension can be difficult due to the write-only nature of WatchKit UI elements and the stringly-typed nature of controllers.
How can we decrease traffic sent from the phone to the watch while simultaneously reducing the complexity of your app’s architecture? In this post I will describe how these can be achieved by using View Models.