Academic Study Compares MVVM and MVI Architectures in Jetpack Compose
A computer science student seeks developer input on state management and code complexity.
1Academic Thesis Research
A computer science student at IU International University of Applied Sciences in Germany is conducting research for a Bachelor's thesis. The study focuses on comparing Single-State MVVM and reducer-based MVI architectural patterns within Jetpack Compose. This academic project aims to evaluate how these frameworks influence modern Android development practices and workflows.
2Core Research Objectives
The research specifically investigates three critical areas of software development: perceived code complexity, overall testability, and state management. By analyzing the separation of responsibilities, the study seeks to understand how these two distinct architectures perform in real-world scenarios. The findings aim to provide insights into developer experiences with these patterns.
3Online Survey Participation
The researcher is inviting Android and Kotlin developers to participate in a short online survey. The questionnaire takes approximately 10 to 15 minutes to complete and is available in English. Participants do not need practical experience with both architectures; individual assessments from those familiar with even one approach are highly valued.
4Expert Interview Opportunities
Beyond the survey, the researcher is recruiting experienced Android developers for semi-structured expert interviews. These sessions are expected to last between 30 and 45 minutes. The interviews will focus on practical experiences regarding state management, code complexity, and testability, specifically for those with professional experience using Jetpack Compose in production environments.
5Architectural Pattern Context
MVVM, or Model-View-ViewModel, is a traditional architectural pattern widely used in Android to separate business logic from UI. MVI, or Model-View-Intent, is a newer, reducer-based approach that emphasizes unidirectional data flow. Comparing these two helps developers understand the trade-offs between standard data binding and more rigid, state-driven reactive programming models.
6Jetpack Compose Integration
Jetpack Compose has fundamentally changed how Android UIs are built, moving away from XML-based layouts to declarative Kotlin code. Because Compose relies heavily on state hoisting and recomposition, the choice of architecture significantly impacts how state is managed. This research addresses how these patterns adapt to the unique requirements of Compose.
7Methodology and Data Collection
The study utilizes a mixed-methods approach, combining quantitative data from the survey with qualitative insights from expert interviews. This dual strategy allows the researcher to capture both broad trends in developer preferences and deep, nuanced technical feedback. The goal is to synthesize these findings into a comprehensive analysis for the thesis.
8Significance for Developers
Understanding the practical differences between MVVM and MVI is essential for building scalable, maintainable Android applications. As the ecosystem evolves, empirical research helps clarify which patterns reduce technical debt and improve team velocity. The results of this study could offer valuable guidance for developers choosing architectures for future Jetpack Compose projects.