Developing scalable Android Applications using Model-View-Presenter Architecture
Submitted by Vishwajeet Srivastava (@vjs3) on Monday, 8 August 2016
Section: Full talk (40 minutes) Technical level: Intermediate
Developing android applications is easy up to a certain point after which complexities start to occur. It might be caused because of complex views, several background tasks or anything else, due to which developer get involved in resolving such complexities instead of focusing on the business logic of the application.
In this talk, I would discuss the importance of Architecture patterns in android and how MVP can be used to minimize various complexities mentioned above.
If you are an experinced developer, this talk would help you in writing improved codebase but if you are beginner in android development then this will you a new of way of thinking and writing code for android apps.
There will be two major components of this talk.
In the first part I will focus on importance of architecture patterns in android:
- What Android application looks without architecture patterns.
- Why use architecture patterns in android?
- Brief over some popularly used architecture patterns.
- What is MVP architecture pattern?
- Why to use MVP in your projects?
In the second portion of talk I will explain implementation of MVP in android apps:
- How to use to MVP in android apps?
- Hands on experience with code.
- How I implemented MVP in Self-Service Android app.
- Using injections and DataManager layer in MVP to make code much better.
- Various MVP libraries, shall we use them or not.
We will also take a look on how code coverage can be increased with the efficient use of MVP pattern.
I am a 4th year undergraduate student in computer science at LNMIIT, Jaipur.
Currently I am a Google Summer of Code Intern with Mifos Initiative working on their Self-Service Android Application project. I am developing Self-Service Application from scratch following MVP architecture pattern, which makes me a perfect candidate to discuss about this subject.
I am an open source enthusiast with contributions to android projects of various open source organisations such as Mifos Initiative, FOSSASIA, openMRS and many more. All my contributions can be found on my GitHub profile.
Also, I have worked for various Indian startups as an android developer in the past.