¿Qué idioma de back-end es el mejor para una aplicación móvil donde se produce mucha comunicación entre los usuarios?

No hay forma de responder esta pregunta.

En pocas palabras, cualquier idioma, implementado adecuadamente, probablemente logrará lo que necesita. Necesita pensar en otras consideraciones. Por ejemplo, ¿qué idiomas ya sabes? ¿Qué idiomas sabe tu equipo? ¿Qué pila ya conoces bien?

Por ejemplo, PHP a menudo se llama lento, pero alimenta a Facebook. Del mismo modo, Ruby on Rails alguna vez se llamó Ruby on Fails por una razón, pero hoy está impulsando algunos servicios enormes. ¿Sería más rápida una aplicación C nativa compilada para su sistema operativo? Sí. ¿Pero tienes alguna idea de la cantidad de basura auxiliar que necesitas para aprender a hacerlo bien?

No quiero decir que esto sea insultante, pero supongo que, si haces este tipo de preguntas aquí, eres muy menor. Eso significa que no tiene los conocimientos suficientes para trabajar en un idioma de bajo nivel. Ignorar C, Rust, Java, Go, et al.

En cambio, concéntrese en el idioma que ya conoce o quédese con los idiomas de nivel superior que tienen paquetes de software robustos y de código abierto, como el mencionado Ruby on Rails. Esto le quitará muchas de las decisiones arquitectónicas complejas y le permitirá ejecutar rápidamente una aplicación.

Para eso, todos los idiomas de alto nivel tienen excelentes paquetes. NodeJS, Ruby, Python, PHP: prácticamente puede descargar un esqueleto de aplicación estándar para cualquiera de ellos. Cualquiera de ellos funcionará.

La única gran consideración que viene a la mente es que si planea hacer cálculos significativos del lado del servidor, probablemente no debería usar NodeJS. Es de un solo subproceso y bloqueará el subproceso cuando se realicen los cálculos. Vaya con PHP o Python, ya que admiten subprocesos múltiples.

Recomendaría Erlang / Riak / Elixir o MongoDB / NodeJS / ExpressJS. Para el servidor en sí FreeBSD o el servidor Ubuntu. Querrá ajustar sus servidores para obtener el máximo rendimiento.

El rendimiento depende de toda su infraestructura. Haga pruebas de esfuerzo / carga, encuentre sus cuellos de botella y elimínelos. Además, la escalabilidad es clave.

Feliz codificación

Prácticamente cualquier lenguaje de back-end existente funcionará. Todos actuarán en un orden de magnitud el uno del otro.

La clave no es el lenguaje utilizado, sino los algoritmos implementados. Los algoritmos determinarán el rendimiento. Si implementa un algoritmo de orden n cuadrado, su aplicación funcionará horriblemente si está escrita en vb o c.

Ahora, tener una aplicación conversadora es algo malo, pero necesitarás manejar eso en tu aplicación.

Dentro de esto está la eficiencia del almacén de datos. El almacén de datos finalmente determina el rendimiento. Tenga una base de datos optimizada con un buen conjunto de índices y listo. Como dice Bill Vaughan, todas las tecnologías de acceso a datos esperan al mismo ritmo.

Buena suerte.

La respuesta de Akshay Narula a Quiero que mi aplicación de Android obtenga datos de una aplicación web externa. ¿Cómo debo hacerlo?