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.
You can use the following technology stack to work with the UI Layer:
- RecyclerView. It is a native Android component that is used to show scrollable content (a list) to a user and allows interactions with items on the list.
- Fragments. It is a native Android container that contains other views and widgets. Their main difference from view containers is that fragments have their own lifecycle.
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
Here you will learn more details on how to create a social media app.