MVI stands for Model-View-Intent.
It's a state management pattern that uses unidirectional flow.
Basically you send events (Intents, similar to Redux actions, not to be confused with the Android Intent class..) to your Model, which does a state update and sends out the updated state to the View.
It does sound very familiar !
Yeah there is nothing new there (and MVI on Android having been heavily influenced by what's going on on other platforms is readily acknowledged).
It is newish (it has been there for several years now) as far as "trendy" Android architecture patterns go.
We started with a bad implementation of MVC for several reasons :
- what Google ended with (which does not look like it fits what they initially intended, but I digress) with its god Activities has encouraged the community to go in that direction.
- when Android was first released, the smartphones of the time were heavily CPU and memory constrained. The way applications were built was to best fit these constraints (sometimes in naive ways).
And again, I am not advocating for all problems to use MVI or that it is the one architecture to rule them all. Just something interesting that was very likely not in gp mind 7 years ago.