Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android
  3. DroidMVP

DroidMVP

Apache-2.0Java0.1.3

A lightweight Android library for implementing MVP, Passive View, and Presentation Model patterns.

Visit WebsiteGitHubGitHub
224 stars23 forks0 contributors

What is DroidMVP?

DroidMVP is a lightweight Android library that helps developers implement the Model-View-Presenter (MVP) pattern, along with Passive View and Presentation Model patterns, in their Android applications. It provides a structured way to separate business logic from UI, making apps more maintainable and testable. The library reduces boilerplate code and offers flexibility through composition and dependency injection support.

Target Audience

Android developers looking to adopt clean architecture patterns like MVP, Passive View, or Presentation Model in their apps. It's particularly useful for teams prioritizing testability and maintainability in medium to large Android projects.

Value Proposition

Developers choose DroidMVP for its simplicity, flexibility, and focus on clean architecture principles. It uniquely combines Passive View and Presentation Model with MVP, offers composition over inheritance, and integrates easily with dependency injection frameworks like Dagger.

Overview

Small Android library to help you incorporate MVP, Passive View and Presentation Model patterns in your app

Use Cases

Best For

  • Implementing MVP architecture in Android apps
  • Building testable Android UIs with Passive View
  • Managing complex UI state with Presentation Model
  • Reducing boilerplate code in Android MVP implementations
  • Integrating dependency injection with Android architecture patterns
  • Adopting clean architecture principles in Android development

Not Ideal For

  • Projects adopting Jetpack Compose or modern reactive UI frameworks, as DroidMVP is designed for traditional Android View-based UIs.
  • Teams using Android Architecture Components like ViewModel and LiveData, since DroidMVP provides an overlapping but alternative architecture.
  • Rapid prototyping or very small apps where the overhead of implementing MVP patterns is unjustified.

Pros & Cons

Pros

Pattern Flexibility

Supports MVP, Passive View, and Presentation Model, allowing developers to combine patterns for complex UI state management, as highlighted in the README's explanation article.

DI Integration

Designed to work seamlessly with dependency injection frameworks like Dagger, with sample projects provided for guidance on integration.

Composition Over Inheritance

Offers DroidMVPViewDelegate for cases where extending base classes isn't possible, promoting flexible code structure without locking into inheritance hierarchies.

Testability Emphasis

Encourages a passive UI layer that delegates logic to presenters, making business logic easier to unit test independently from Android framework dependencies.

Cons

Early Development Stage

With version 0.1.3, the library might be prone to breaking changes or lack the maturity of stable releases, as indicated by the low version number in the setup instructions.

Limited Modern Feature Support

Does not natively integrate with Kotlin coroutines or Flow, requiring additional setup for asynchronous operations common in modern Android apps, which isn't covered in the README.

Niche Community Adoption

Compared to official Android patterns, DroidMVP has a smaller user base, which can mean fewer resources, tutorials, and community support beyond the provided samples and articles.

Frequently Asked Questions

Quick Stats

Stars224
Forks23
Contributors0
Open Issues0
Last commit8 years ago
CreatedSince 2016

Tags

#testability#android#dagger#android-library#architecture#ui-patterns#clean-architecture

Built With

A
Android
J
Java

Links & Resources

Website

Included in

Android12.0k
Auto-fetched 15 hours ago

Related Projects

leakcanaryleakcanary

A memory leak detection library for Android.

Stars29,958
Forks3,987
Last commit2 days ago
OttoOtto

An enhanced Guava-based event bus with emphasis on Android support.

Stars5,118
Forks828
Last commit7 years ago
EasyDeviceInfoEasyDeviceInfo

:iphone: [Android Library] Get device information in a super easy way.

Stars1,781
Forks227
Last commit2 years ago
Weak handlerWeak handler

Memory safer implementation of android.os.Handler

Stars1,533
Forks283
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub