Previous    Next

Short summary of this really well written article:

Pattern overview

MVP, MVVM, and MVI are some of the common patterns in Android and they can broadly be thought of as different flavours of the same core concept — abstracting logic from the UI into classes without references to Android. The main way in which they differ is how those classes accept their inputs and how they then output updates to the UI.

Generally speaking the goal is to separate concerns and have a Unidirectional Data Flow.


MVP

The defining feature of MVP is that data is communicated back to the view imperatively.


MVVM

MVVM differs from MVP is in how data is communicated back to the view. Rather than imperatively calling the view, in MVVM changes are described by data which are then observable by the view. The UI can then reactively re-compose itself based on the new data.


MVI

This is a very similar pattern to MVVM, with some important differences. In many ways it’s a merging of MVVM & Redux. MVI pre-defines a selection of events the ViewModel handles and the view publishes a stream of these events as they happen. But the major difference is communication back to the view. Whereas in MVVM there is usually a separate publisher for each piece of data, in MVI a single object defining the entire state of the view is published. Often there’s a section of MVI which follows Redux style reducing.

Featured essays

Jira Ticket Templates

more

Sketch Vector Graphics (SVG) for Android

The two following medium articles are explaining the best strategy How to export clean . svg icons with Sketch Tips for exporting vector assets from Sketch to AndroidDesign best practices for Android mobile App (with SketchApp) In a nutshell: Avoid using… more

Remove git HEAD branch

HEAD is a pointer to a commit (usually master) so when you checkout your repository the commit which HEAD points at will be checked out. Usually you'd want it if when checking out you want a different branch or tag to be checked out… more

MVP vs MVVM vs MVI

Short summary of this really well written article:Pattern overview MVP, MVVM, and MVI are some of the common patterns in Android and they can broadly be thought of as different flavours of the same core concept — abstracting logic from the UI into… more

DIY Geiger Counter

After watching HBO's Chernobyl Series and stumbling upon this awesome article about someone building a steampunk desktop background radiation monitor I was inspired to build a radiation monitor myself. I'm aleady being using a Raspberry PI with pi-hole… more

App Development Workflow

gitflow-workflowgit-branching-model more