Cómo crear una aplicación de red social para Android

  • definir qué acciones podrán realizar los usuarios.
  • definir qué pantallas estarán allí en la aplicación
  • dibuje estructuras alámbricas de cada pantalla y configure las interacciones entre ellas utilizando herramientas como JustinMind e invisionapp
  • juega con los prototipos hasta que te instales con la versión inicial de tu aplicación
  • teniendo en cuenta los comportamientos de uso típicos de Android y el lenguaje de diseño de Google, Material Design, y también incorporando los colores y logotipos de su marca, cree el diseño real de las pantallas. Elige fuentes
  • comience a modelar las entidades principales en su aplicación, que son sujetos de acciones o que pueden hacer cosas (un usuario, un mensaje, una solicitud de amistad, un elemento) y defina las relaciones entre ellas; estas serán sus clases modelo en Java
  • en Android Studio, cree un proyecto de Android
  • Comience con una función simple y primero haga que funcione en una sola actividad: la vista, el modelo y la lógica de negocios podrían estar en la misma clase
  • Clases de paquetes por entidad y por capa. No por tipo.
  • cuando lo haga funcionar, emplee el patrón MVP para la vista, y luego realice todas las operaciones de lógica de negocios en clases interactivas basadas en casos de uso, que no deberían preocuparse por el entorno de implementación
  • Resuma la lógica de la base de datos, la lógica de red, la lógica de almacenamiento local / acceso a archivos, utilizando interfaces contractuales, estilo de arquitectura limpia
  • si no tiene un servidor API listo, use falsificaciones o simulacros, hasta que obtenga un desarrollador de back-end para configurar la API (o también lo programe)
  • escribir pruebas unitarias para cada componente de forma aislada
  • escribir pruebas de integración para las interacciones entre componentes
  • use una biblioteca de terceros para la función de chat o impleméntelo usted mismo
  • configurar mensajes en la nube usando Google Firebase para enviar mensajes entre el teléfono y el servidor
  • configurar notificaciones locales para notificar al usuario sobre nuevas acciones o mensajes en la aplicación
  • use RecyclerView con CardViews para el feed, encuentre formas de animar las interacciones del usuario con el feed.
  • use una biblioteca de terceros para mostrar imágenes en la aplicación y tenga cuidado con OutOfMemoryErrors y Memory Leaks. Puedes usar LeakCanary para ayudarte con eso.
  • Use Retrofit 2 para su capa de red
  • Si desea utilizar una biblioteca para acceder a una base de datos SQLite local, tiene muchas opciones: ActiveAndroid, GreenDAO, OrmLite, SQLBrite
  • Si desea más flexibilidad y potencia, use el acceso a la base de datos SQLite sin procesar y escriba las operaciones usted mismo
  • Rastrea los bloqueos de aplicaciones con Crashlytics.
  • Enviar compilaciones a las partes interesadas utilizando HockeyApp o Fabric Beta
  • Si quiere ser elegante, use RxJava para encadenar múltiples operaciones en flujos de datos y libérese de la carga cuando se trata de subprocesos múltiples
  • Utilice Dagger 2 si desea utilizar la Inversión de dependencias y separar la creación de objetos de la lógica de uso de objetos.