What is wrong with MVVM?

This page summarizes the projects mentioned and recommended in the original post on /r/androiddev

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • livedata-combineutil-java

    [ACTIVE] Helper function to combine LiveDatas.

  • people exposing 11 public LiveData fields for 11 private MutableLiveData fields instead of using MediatorLiveData as combiners to reduce the number of exposed LiveData fields

  • sunflower

    A gardening app illustrating Android development best practices with migrating a View-based app to Jetpack Compose.

  • Google samples pretending that the right way to observe 11 LiveDatas that weren't even a minimal state representation required Databinding, and most people don't like Databinding due to its intrusive nature (which is a byproduct of kapt running for layout modifications + people completely misusing @BindingAdapters as if they were "XML extension functions" or something rather than use them for what they actually were for)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • orbit-mvi

    A simple MVI framework for Kotlin Multiplatform and Android

  • Everything in MVI is just more code that does nothing (see how most MVI frameworks are basically just a wrapper over state.value = state.copy() like in Orbit or MvRx which you wouldn't even need if you used combiners) and instead adds unnecessary constraints over MVVM that don't help you at all. The "sealed class inputs" are basically a reinvention of calling interface functions except you create classes for it, despite there being no asynchronicity when you have a View -> ViewModel communication.

  • MvRx

    Mavericks: Android on Autopilot

  • Everything in MVI is just more code that does nothing (see how most MVI frameworks are basically just a wrapper over state.value = state.copy() like in Orbit or MvRx which you wouldn't even need if you used combiners) and instead adds unnecessary constraints over MVVM that don't help you at all. The "sealed class inputs" are basically a reinvention of calling interface functions except you create classes for it, despite there being no asynchronicity when you have a View -> ViewModel communication.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • MVI with usecase instead of repository?

    1 project | /r/androiddev | 18 Mar 2022
  • Is MVI way to go for new applications with compose

    3 projects | /r/androiddev | 24 Dec 2022
  • A Template for Clean Architecture and MVI

    1 project | /r/androiddev | 21 Apr 2022
  • I ported the Spotify Mobius GitHub wiki to GitHub Pages + MkDocs with light and dark modes. I just created the issue and filed the PR. Let's see what happens!

    5 projects | /r/androiddev | 14 Mar 2022
  • Compose architecture: MVVM or MVI with Flow?

    3 projects | /r/androiddev | 5 Jul 2021