Skip to content
02-01
Menu
EN | DE
  • Home
  • About us
  • Our work
  • Our Services
    • Mobile App
    • VR/AR
    • Game development
    • Web development
    • AI
    • UX/UI
  • Blog
  • How we work
  • Careers
  • Contact us
  • English
  • German
Menu
  • Home
  • About us
  • Our work
  • Our Services
    • Mobile App
    • VR/AR
    • Game development
    • Web development
    • AI
    • UX/UI
  • Blog
  • How we work
  • Careers
  • Contact us
  • English
  • German

LEBO APPS

Flughofstrasse 41
8152 Glattbrugg
Switzerland
+41 71 511 32 30
info@lebo-apps.ch

© lebo-apps.com
All rights reserved

Facebook Twitter Instagram
02
Menu
EN | DE
  • Home
  • About us
  • Our work
  • Our Services
    • Mobile App
    • VR/AR
    • Game development
    • Web development
    • AI
    • UX/UI
  • Blog
  • How we work
  • Careers
  • Contact us
  • English
  • German
Menu
  • Home
  • About us
  • Our work
  • Our Services
    • Mobile App
    • VR/AR
    • Game development
    • Web development
    • AI
    • UX/UI
  • Blog
  • How we work
  • Careers
  • Contact us
  • English
  • German

LEBO APPS

Flughofstrasse 41
8152 Glattbrugg
Switzerland
+41 71 511 32 30
info@lebo-apps.ch

© lebo-apps.com
All rights reserved

Facebook Twitter Instagram
Latest
Insights
Technology
Design
Marketing
Lebo
Search
Close
Subscribe
0EFDQKW84D
Share on facebook
Share on twitter
Share on linkedin
Share on email
Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp

Back to articles

What is MVI?

  • 20/10/2018
  • Design, Insights, Latest, Lebo, Marketing, Technology

Not long ago, the Android community started adopting patterns like MVP, MVVM, etc. There are a lot of teams out there who spent days, weeks, months and even years refactoring their legacy apps to adopt these patterns. They are all pretty happy with the state their current code is in. Recently, we all started hearing this other term called MVI or Model View Intent and we have seen a lot of talks and blog posts about this pattern.

Whenever we see a talk on MVI, there are a few things which are not quite clear on the first go. There’s a lot going on with the implementation and things like Action, Result, Processor, Reducer complex reactive chains, etc. This could easily overwhelm anybody without knowing the reason: “Why they would want to further complicate their life any more than it actually is?”

On top of that, we are already pretty happy with the way things are with our current codebase. It’s been quite some time since we adopted MVP and let’s not forget the cost of bringing the whole team to learn and implement it. Now that we have another pattern, should we trash all these efforts and start from scratch and go through the same process all over again?

I say No, we need not build everything from scratch.

 

MODEL VIEW INTENT

Model is a term which is common to various patterns like MVC: Model View Controller, MVP: Model View Presenter, MVVM: Model View ViewModel.

I have always been unsure of this Model term, what exactly it applies to, so I have an interpretation of my own, which goes something like this: Model in MVP or MVVM is everything other than the View and Presenter (or ViewModel). This can also be called the data/logic layer.

Some people like to say that Model is state. If we represent everything going on a screen as a container of states, like isLoading, isChecked, it becomes our model. This definition of Model is more closely related to the MVI’s Model.

There are four basic elements in this State View Intention pattern. Can you take a guess? If you said those are State, View, Intention, and User then you are a winner!

The addition of User in the pattern itself is what makes it different from other patterns.

  • Home
  • About us
  • Our work
  • Our services
  • Blog
  • How we work
  • Careers
  • Contact us
Menu
  • Home
  • About us
  • Our work
  • Our services
  • Blog
  • How we work
  • Careers
  • Contact us

LEBO Apps GmbH
Flawilerstrasse 31
9500 Wil
+41 71 511 32 30
info@lebo-apps.ch

© 2020 lEBO APPS | All rights reserved

Facebook Twitter Instagram

Liked the article?
Subscribe to our newsletter.

It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.