There's a decent amount of different MVP frameworks and libraries for Android. This repo is aimed to help you to choose the one that suits your needs.
TL;DR
Library | Support screen rotations | Keep Presenter alive | Can be applied to a custom View | Dagger friendly | Kotlin friendly |
---|---|---|---|---|---|
EasyMvp | ❌ | ✅ | ✅ | ✅ | ✅ |
Moxy | ✅ | ✅ | ✅ | somewhat | ✅ |
Application consists of a single login screen:
Every branch represents a single library
🔹 Uses annotation processing
🔹 The API consists of a few classes and annotations
Furthermore it has a few additional features like RxApi, but they are not particularly useful.
🔹 Uses annotation processing
🔹 Flexible API
The main feature is a ViewState
. It's a stack of view commands (e.g. showLoading
, showError
) defined in the view interface. Moxy restores the previous view state by applying these commands from the stack depending on StateStrategies (e.g. it can apply a command every phone rotation or only once)
Copyright 2018 NikolayKul
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.