General information on social media app development for Android:
- Architecture: MVVM (model–view–viewmodel) architectural pattern
- Programming language: Earlier we used only Java to develop apps for Android but now Kotlin is preferable for all new projects.
- Framework: The main framework used is Google Play Services. It allows for access to Google Services like Firebase, Cloud Messages, In-App purchases, Geolocation, etc.
- Library: RxJava2 mostly for composing asynchronous operations.
Technical implementations for the Network layer are done with:
- Retrofit for network requests
- GSON for JSON parsing
- Glide for loading images and caching
Code generation: Dagger framework for dependency injections.
Analytics: Fabric platform for collecting crash reports and minimal data about app usage.
Test frameworks: JUnit, Mockito, Robolectric
Learn more here