Hi @Ian Arbuckle, if you look at the code, you see that the shared KMPViewModel is actually wrapped into the Android ViewModel. Similarly on iOS, it’s wrapped into an “ObservableObject” Swift class.
So, the shared ViewModel is actually fully compliant with the platform lifecycles.
KMP is a very flexible technology, you can use in many different ways, for example just for sharing the data layer, or a single module of your app.
The D-KMP Architecture is focusing on fully sharing the ViewModel (apart from the tiny wrapping layer I mentioned above), so that you can minimize the amount of code that is platform-specific.
In this way we can develop apps where the only platform-specific code is the declarative UI layer. This means you can write apps that share 85% of the code across the different platforms.
If you want to understand more, just clone the repo and run the app. So you can see it yourself.
And please provide me your feedback too! We only grow by sharing!