Android developers nowadays always face new technologies and libraries as they move on from one project to another. Evenetually, they might have to learn a new language. Taken all around, due to the enourmous community and development behind the platform, it’s not surprising that the tools and functionality of the development kit imporves quite frequently. This thesis will describe how I managed to implement an architecture, which combines the most widely used technics and libraries. The goal was to form an extensible, scaleable, reusable and easy-to-use implementation not only for this project, but for future usage too.
This thesis will guide through the development of an Online multiplayer and multigame application for Android platform, also describing the abstraction, prototyping and implementation phases step-by-step. The prototyping goal is an architecture base, which not only serves this application, but it can be migrated to future projects, due to its modular design and implementation. For the final implementation I wanted to use the most up-to-date and well-known technologies and libraries such as RxJava 2, DataBinding, MVVM architecture and I also decided to move from Java to Kotlin, which is currently trending in the developer community. I also determined to form the code base in a way, that it is developer friendly to speed up the learning procedure if a new member joins the development team.