Depends on how big the application is. Also depends on whether it’s a personal project or part of a team effort. MVP @ work due to familiarity, and it having been a good fit when we started. However, I find that MVP in a large enough app can become bloated. For personal side projects, I use a mixture of MVVM and unidirectional data programming