Did you know that MVVM (Model-View-ViewModel) is a software architecture pattern invented in 2005 by Microsoft for WPF (Windows Presentation Foundation), their framework for native Windows desktop development?
It was later adopted by Android and iOS developers, becoming not only preferred but also a standard in the development of mobile applications (the chances of finding an Android or iOS dev position were almost null if you had no experience with MVVM).
But as important as it once was, it’s becoming irrelevant as declarative graphical interfaces like Jetpack Compose and SwiftUI tend to be the new standard!
The King is dead (MVVM)… Long live the King (MV)!?
A new architectural pattern appears in a market already oversaturated with design patterns and code architectures: MV, i.e. Model-View.
Well, it’s the same as the other one…
Well, not really…, because it lacks the VM, i.e., the ViewModel..
What about the MVVM?
Well, in the era of declarative user interfaces, the functionality of the ViewModel is implemented by default in Jetpack Compose and SwiftUI, making the existence of a separate ViewModel not only unnecessary but also an anti-pattern.
For SwiftUI, MVVM is an anti-pattern!