А чем отличается мввм от блоков принципиально?
блок - стейт машина, близкая к подходу flux. MVVM это когда ты верстку отделяешь от кода, а общение между этими слоями строишь на каких-либо биндингах, причем так, чтобы твоя вьюха не была связана сильно с вьюмоделью. (Но эт в других языках, хз как на флаттере mvvm пилят. )