¿Debo usar PHP o NodeJs para una red social?

Fundamentalmente, la mayoría de las cosas sobre una red social no son realmente tan complicadas hasta que tenga que escalarla para atender simultáneamente a un gran número de usuarios, a menos que tenga una lógica marginal realmente interesante detrás de escena que sea computacionalmente costosa y / o compleja .

En el futuro previsible, PHP7 debería ser lo suficientemente adecuado, al igual que Node. Laravel es un marco PHP sólido y debería fomentar buenos hábitos de desarrollo, lo cual es doblemente importante con PHP, que tradicionalmente ha facilitado que las malas decisiones se conviertan en malos hábitos.

Las redes sociales se basan principalmente en bases de datos (parece que ese es el caso de la mayoría de las aplicaciones web), lo que significa que su idioma probablemente no será su principal cuello de botella.

Lo que me estás diciendo es que ya tienes algo construido. Sin conocer los detalles o la calidad del trabajo y si se trata de una red social preempaquetada o algo que usted mismo construyó, yo diría que quédese con lo que tiene hasta que su negocio impulse la necesidad de reemplazar un componente con algo más eficiente.

Por ejemplo, Facebook usa una versión adaptada de PHP (Hack) para muchas cosas. También usan muchos otros lenguajes y tecnologías (es probable que termine en un lugar similar si su proyecto crece), puede usar PHP, Java o Scala, Erlang, Nodo, lo que sea; La mejor herramienta para el trabajo y todo eso.

Algunos pensamientos de ajuste de rendimiento …

  • Asegúrese de estar ejecutando PHP7 para que pueda obtener más rendimiento del lenguaje. Realmente no veo una razón convincente para que cambie a Node (o viceversa si ya tiene un proyecto en funcionamiento en Node).
  • Asegúrese de que su base de datos sea decentemente robusta y esté optimizada e indexada correctamente. Un montón de RAM es algo bueno. Los SSD son buenos. Estás utilizando InnoDB sobre myISAM, ¿verdad?
  • Realizar auditorías de rendimiento en consultas de bases de datos; localice los costosos y vea qué puede hacer para agilizar esas consultas.
  • ¿Está utilizando Ajax o algo similar que le permite cargar activos selectivamente en lugar de volver a cargar toda su página para cada solicitud?

Ambos idiomas bastarán básicamente.

PHP tiene un ecosistema sólido con paquetes y marcos que pueden ayudarlo con el desarrollo rápido de aplicaciones. Node.js puede ayudarlo a compartir código de back-end con su front-end. Simplemente contrate a un buen desarrollador con cierta antigüedad, déjelos elegir, asegúrese de que puedan contratar al equipo adecuado y se adhieran a la elección.

Pero aparte de eso: hay opciones más importantes como bases de datos, infraestructura, UX, diseño, …

No hay una regla específica que deba usar.

Por ejemplo, Facebook se creó inicialmente usando PHP (ahora están usando Hack Language, esa es una versión personalizada de PHP desarrollada por el propio Facebook).

Pero te sugiero que vayas con NodeJS ya que es fácil de aprender inicialmente y tendrás la oportunidad de explorar MongoDB, etc. Tendrás una idea sobre estas nuevas tecnologías. Javascript, es uno de los idiomas más populares que se utilizan actualmente en el mundo, tanto para el desarrollo front-end como back-end. Para que pueda aprender un solo idioma y desarrollar tanto front-end como backend.

Pruebe primero una solución existente con una pequeña modificación (en php jomsocial puede ser una opción). Si gana millones de ese sitio, puede usar lo que quiera en el futuro. Simplemente no gastes todo en construir una nueva red social. Es muy arriesgado.