Si quiero construir una red social desde cero, ¿qué paquete tecnológico debo usar hoy para comenzar?

La respuesta será “depende” del tipo de red social que desee construir. No hay muchas pilas para considerar. Una búsqueda rápida en Google le habría proporcionado un diagrama arquitectónico completo para todas las redes sociales actualmente en el mercado.

Lo más fácil es construir el back-end sobre un proveedor de servicios en la nube (IAAS): AWS, Google Cloud Platform, Microsoft Azure. Si estás en China, están Aliyun y Joyent. Como se trata de una red social, desea que la mayor parte del trabajo se realice en el backend. En cuanto a noSQL vs. SQL, dependiendo de cómo desee acceder a esos datos, Stack Overflow tiene toneladas de respuestas para esto.

En el front-end, diría que vaya directamente a dispositivos móviles en iOS o Android. No construyas ninguna red social a través de la web (pequeña, tal vez para empresas, como Slack, pero Slack es una bestia rara). Nunca irás a ningún lado desde la web, garantizado. Vaya primero al móvil, luego a la web. La razón más importante es que la mayoría de las nuevas generaciones y otros lugares en desarrollo fuera de EE. UU. / Europa se han pasado directamente a los dispositivos móviles y se saltaron la era de las PC.

Como se mencionó anteriormente, realmente depende de su conjunto de habilidades. Cada opción tiene (a veces incluso extremos) ventajas y desventajas; de lo contrario, todos usarían lo mismo.

He tenido una experiencia positiva con DigitalOcean (servidor web), Laravel (un marco PHP MVC), MySQL, Amazon s3 (almacenamiento) y Vue.js (biblioteca frontal ligera).

Puede obtener más información sobre esta pila en Laracasts.

La pila que mejor conoces.

Lo más probable es que nunca tenga suficiente tráfico para justificar la optimización, y si gana el premio gordo y supera a 1 millón de usuarios, podría ganar o recaudar suficiente dinero para cambiarlo (algo que Twitter y Favebook tuvieron que hacer).

Dependiendo de su conjunto de habilidades, la competencia del equipo y la financiación, iría con uno de los dos:

  • Elixir / Phoenix para el backend y React o Elm para el frontend, con una de las bibliotecas de UI
  • Ruby / Sinatra (o Hanami o Rails) con Trailblazer para el backend y React o Elm para la interfaz, con una de las librerías de UI

More Interesting

Estoy probando una aplicación de chat basada en JSP y Java Servlet y he enumerado a todos los usuarios en línea e hice una ventana de chat, pero tuve problemas para obtener una respuesta de un usuario a otro. ¿Cuál es la solución?

¿Qué puntos debo tener en cuenta al diseñar un sitio web receptivo?

Aprendí jQuery antes de JS, y ahora soy súper dependiente. ¿Cómo me vuelvo menos dependiente de jQuery y más de JS?

Quiero ser un desarrollador web front-end. ¿Donde debería empezar?

Decidí que quiero aprender PHP. ¿Para qué se usa PHP exactamente en el desarrollo web front-end?

¿Puede uno ser un desarrollador de software y web (front-end) si comenzó a practicar en su adolescencia (14)? Si es así, ¿será difícil ser ambos?

No sé la codificación, ¿hay alguna forma de crear un sitio web que también admita anuncios?

He pasado la última década trabajando en el software de otras compañías, pero tengo algo que quiero construir para mí. ¿Debo construir primero el front-end o la capa de API / datos primero?

¿Vale la pena aprender MEAN stack para el desarrollo web (tengo 20 años)?

Estoy comenzando un portal de videos en el cual los usuarios suben videos. Quiero un reproductor de video web con tecnología de velocidad de bits adaptable. ¿Cuál es la mejor tecnología y reproductor para usarlo en cualquier dispositivo como YouTube? ¿Cual será el costo?

Estoy aprendiendo desarrollo web pero realmente no lo disfruto. ¿Debo dejar de aprender?

¿Dónde construyo un sitio web?

Sé lo básico de Python y Django, quiero aprender PHP y Laravel, ¿por dónde empiezo?

Cómo usar Firebase para mi aplicación Ionic v1

Tengo 16 años y voy a estar haciendo experiencia laboral en una empresa que trabaja en el desarrollo web front-end. Necesito aprender a usar angular 2 con mecanografiado. ¿Cuál es la mejor forma de aprender angular?