For about a week, I started to document myself to build a chat app for Android.
I’ve done something similar one year ago, only that I had a few problems while building it because of the complexity.
This time, I decided to be a little bit smarter and, in the process, push my limits and learn a few stuff on the way.
One of the main problems I had last time was because we used interfaces for communicating between components in a wrong way and we later included EventBuses that made things even worse to debug not knowing or understanding from where the events got called.
What I decided to use this time:
- First and foremost, decided to use a clean architecture
- Decided to try and see how DataBinding works and get rid of some overhead given by the changing properties of the cells.
- Gonna use RxJava to get rid of the EventBus mayhem.
- Gonna use Realm because I just love it, and think it will force me to think better and make everything cleaner because of the managed objects.
- Java 8 Lambdas
The only thing that I feel missing in this is a dependency injection component. Thinking of using it, but afraid I’ll have problems grasping all the new stuff. Gonna get myself familiar with Rx, DataBinding and clean architecture and return to implement Dagger in v1.1.
Gonna post about different problems I had while working with all of these together.
By: Adrian Coman