I was hoping to get some advice about the best way to make apps, I hope you guys can help me.
I'm fairly new on programming for Android and I have reached a point where I can code any app in Java without difficulty but also as I go deep into the Android world I have learned that there are many different ways to make apps.
Because of that I am losing track on what to study and how to be a good developer.
There are so many architectures and different ways of programming such as MVC, MVP, MVVM and so on. I have read many blogs and GitHubs and all of them sound awesome on paper but how do I know which one to choose for the apps i am making?
Could you guys help me understand the best approach I should take?
Thank you in advance :)
Architecture is not a silver bullet, designed to solve all your difficulties. Especially when we are talking about mobile apps.
Architecture is just a bunch of guidelines, which you can use to make your life easier in case of long term support of your apps or in case of a new member in your development team. Architecture approaches helps you to define some basic development rules for a project within your team.
Also your decision must be relevant to application size and complexity. For example: you don't need to apply VIPER
or MVP
for an app with a single screen, but when you trying to make big apps like for social networks, couple of good architecture approaches might be useful later while supporting that 'monster'.