Isso merece uma elaboração.
Para começar:
GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.
O Discourse é na verdade, em sua maioria, Ruby on Rails, e (de acordo com o GitHub) apenas um quarto dele é JavaScript, embora seja um quarto extremamente crítico e domine o lado do cliente.
As razões pelas quais o Discourse e outros sites/aplicativos web modernos usam JavaScript são:
- Carga de trabalho: alivia o servidor de muito trabalho, ajudando o site a escalar melhor (ei, faça a máquina do usuário compartilhar parte do trabalho, por que não?!)
- Largura de banda: embora o carregamento inicial possa ser um pouco mais longo para baixar esse JavaScript, o carregamento intermitente de dados a partir daí é MUITO mais rápido, usando MUITO menos largura de banda (se o mundo perdesse o JavaScript amanhã, a internet possivelmente pararia?), porque você só precisa transferir os dados e não toda a marcação e layout de toda a interface do usuário. Assim, as coisas são feitas pela web muito mais rapidamente e permitem conexões de baixa largura de banda, como conexões móveis ruins.
- Interface do usuário: melhora a natureza dinâmica da interface do usuário, tornando a experiência do usuário melhor (por exemplo, clicar em um botão para atualizar apenas uma parte da tela - sem grandes repinturas do navegador).
- É um padrão: JavaScript é um padrão em todos os navegadores modernos, incluindo os móveis, então é “escreva uma vez e traga qualidades de aplicativo para a maioria dos dispositivos”.
- Separação de responsabilidades: desacopla os processos do servidor de ter que se preocupar em renderizar a interface do usuário (geralmente), tornando mais fácil migrar ou dar suporte a outros front-ends que podem não ser baseados em JavaScript (ou mesmo HTML). Aplicativo iOS, alguém?
Tenho certeza de que há muitas outras vantagens, mas essas são as básicas.
