Si hago una página de red social como Facebook, ¿cómo organizo la estructura de un proyecto que consta de una versión web, API y móvil?

Arquitectura multinivel
Cualquier producto de software grande y complejo eventualmente evoluciona a una arquitectura de n niveles, puede comenzar con una aplicación de una sola página con una funcionalidad muy limitada, pero a medida que crece la complejidad, necesita dividirse en múltiples subsistemas para mantener la complejidad.

En un nivel muy alto, esto es lo que necesitarías:

  1. Nivel API (REST o cualquier tipo de servicios): este sería su punto de acceso principal para que cualquier dispositivo interactúe con su sistema. Este nivel podría contener múltiples API dependiendo de la complejidad de su aplicación. Pero, en general, debe tener la misma paridad de datos para todos los dispositivos y la única forma de lograrlo es mantener este nivel.
  2. Nivel de almacenamiento en caché: esto es opcional según sus necesidades, pero sin duda ayudaría si desea transformar el estado entre los dispositivos, por ejemplo, si un usuario interactúa con su aplicación en un dispositivo móvil y cambia a tableta o computadora portátil, puede comenzar la operación donde dejó . Pero esto es totalmente opcional dependiendo de la naturaleza de su aplicación. Pero un gran sistema de software ciertamente los usa, uno bueno, por ejemplo, si los marcadores de Google en Chrome, Google busca en los dispositivos. Todo está sincronizado.
  3. Nivel de datos: dónde almacenaría datos de usuario o cualquier otro dato que su aplicación serviría. También puede tener una sincronización entre el nivel de datos y el nivel de almacenamiento en caché para los datos a los que se accede con frecuencia, de esa manera su API podría llegar primero al caché y luego ir al nivel de datos en caso de que los datos no estén presentes en la capa de caché.

Esta es una descripción muy genérica para cualquier sistema de software en línea, Facebook, Google o cualquier otro sitio grande que trate con muchas complejidades y tenga múltiples capas de almacenamiento en caché y otros subsistemas para mantenerlo escalable y mantenible.

Pero, en general, para un sitio / aplicación pequeño si comienza de esta manera (arquitectura orientada al servicio), definitivamente ayudaría a escalar y mantener las cosas a largo plazo.

bueno, en un sentido moderno, ya no existe una versión móvil; Ese es el pensamiento de la vieja escuela. Herramientas como Bootstrap se ajustan a los tamaños de pantalla para entregar a la plataforma. Su UI / UX debería poder ajustarse independientemente de la plataforma que lo solicite.

More Interesting

Si tuviera $ 100 al mes para análisis de redes sociales, ¿cómo debería gastarlo?

Mis amigos y yo hemos comenzado una campaña en línea de camisetas Booster para recaudar fondos para combatir el hambre. ¿Cómo creo una exitosa campaña Booster en línea además del uso de cuentas personales de redes sociales?

Tengo una idea para una aplicación social. ¿Debo iniciar una empresa para lanzarla o puedo hacerlo a título individual? ¿Qué estrategia es mejor en términos de contratación, comercialización, etc.?

Hago búsquedas de palabras clave y comento en otros blogs, comparto en las redes sociales (más de 45 grupos de Facebook) y StumbleUpon, pero no pude obtener más de 50 páginas vistas al día. ¿Que más deberia hacer?

No he usado las redes sociales en 2-3 años (además de Quora) y estoy pensando en unirme a una nueva. ¿A qué sitio debo unirme?

Comencé una startup y estamos trabajando en una aplicación en el campo de las redes sociales. Estamos lanzando pronto, y me preguntaba cómo podemos ganar usuarios y tener una tasa de velocidad tremenda en el primer mes.

¿Por qué no puedo seguir a las personas en Instagram?

Estoy planeando escribir una revisión de cuán efectivo es ‘comprar seguidores / me gusta de Instagram’ para alguien que acaba de abrir una nueva cuenta. ¿Cuál es un buen servicio recomendado que valga la pena probar?

He hecho un cortometraje y deseo promocionarlo, pero como estudiante no tengo dinero. ¿Cuáles son las formas efectivas de publicitar un video gratis?

Estoy finalizando un informe de métricas de redes sociales después de ejecutar una campaña de 10 días. ¿Cómo puedo obtener información sobre los factores que definen los resultados?