Due to fast and organic growth of a lot of code over a short period of time with a newly formed set of teams many of the components used in Veon applications have had to be developed in isolation before integrating them into the application proper. This has led to a high level of code duplication, low level of automation testing, coupling and lack of consistency across the project.
By using RxJava (and some other tools) the team in Amsterdam have begun to standardise the way that these components communicate to each other and internally to themselves. Alongside this the team have pushed how they use RxJava to all the corners of their code from view interfaces to services and repository objects.
The talk showcases the evolution from an Android heavy codebase littered with nested fragments, polluted MVP, nested callbacks, event bus, self made “frameworks” and more to something that is mainly pure (Rx)Java based, smaller, testable and consistent.
Covering items such as: Veon’s Android MVP pattern Coding Android with no Android (or at least as little as possible) Rx enabled Android Views Testing practices
YOU MAY ALSO LIKE:
Rx All the Things!
Jim Reeves is Head of Front End Development at Veon in Amsterdam, responsible for technical leadership of iOS and Android development teams building the Veon Engagement Platform, moving from his previous role of Lead Android Developer for Veon in London in January 2017.