Esto merece una elaboración.
Para empezar:
GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.
Discourse es en realidad mayormente Ruby on Rails, y (según GitHub) solo una cuarta parte es JavaScript, aunque es una cuarta parte extremadamente crítica y domina el lado del cliente.
Las razones por las que Discourse y otros sitios web/aplicaciones web modernos usan JavaScript son:
- Carga de trabajo: alivia al servidor de mucho trabajo, lo que ayuda a que el sitio web escale mejor (¡oye, haz que la máquina del usuario comparta parte del trabajo, por qué no?!)
- Ancho de banda: aunque la carga inicial podría ser un poco más larga para descargar ese JavaScript, la carga intermedia de datos a partir de entonces es MUCHO más rápida y usa MUCHO menos ancho de banda (si el mundo perdiera JavaScript mañana, ¿internet posiblemente se detendría?), porque solo tienes que transferir los datos y no todo el marcado y diseño de toda la interfaz de usuario. Por lo tanto, las cosas se hacen en la web mucho más rápido y permiten conexiones de bajo ancho de banda como las malas conexiones móviles.
- UI: mejora la naturaleza dinámica de la interfaz de usuario para que la experiencia del usuario sea mejor (por ejemplo, hacer clic en un botón para actualizar solo una parte de la pantalla, sin grandes repintados del navegador).
- Es un estándar: JavaScript es un estándar en todos los navegadores modernos, incluidos los móviles, por lo que se escribe una vez y aporta cualidades similares a las de una aplicación a la mayoría de los dispositivos.
- Separación de responsabilidades: desacopla los procesos del servidor de tener que preocuparse por renderizar la interfaz de usuario (generalmente), lo que facilita la migración o el soporte de otros front-ends que no se basan en JavaScript (o incluso HTML). ¿Una aplicación para iOS, alguien?
Estoy seguro de que hay muchas otras ventajas, pero esas son las básicas.
