Beyond MVC, MVP, and MVVM
More architectural patterns have evolved from the three patterns we discussed previously. The in-depth comparison of these patterns is beyond this chapter, but they are worth mentioning:
- Model-View-Intent (MVI): MVI emerged as a pattern influenced by MVC, MVP, and MVVM around the 2010s in the Android community. MVI has a unique focus on a unidirectional data flow to streamline state management. It also adopts reactive programming paradigms to asynchronously manage the unidirectional data flow, using libraries such as RxJava and RxJS. The interactions among them are shown in Figure 5.6:
Figure 5.6 – MVI interaction
- Atomic design: Introduced by Brad Frost in his book Atomic Design in 2013, atomic design breaks down the UI into five levels:
- Atoms: Elemental building blocks such as text fields
- Molecules: Functional organization of atoms such as search bars
- Organisms: Sectional organization of molecules such as...