Por que estes fóruns exigem JavaScript? Não é como se outros fóruns pudessem funcionar sem ele.
Porque o Discourse é basicamente JavaScript puro. Se você tirar o JS, não sobra nada ![]()
Solução técnica diferente, nada mais.
É apenas a forma como é feito. O Discourse não “precisa” simplesmente de javascript, ele É uma aplicação javascript que é totalmente carregada no seu navegador, e esta aplicação usa a API para carregar dados do banco de dados do lado do servidor.
@Jagster foi mais rápido. Além disso, minha explicação pode ser um pouco vaga, mas tenho certeza de que há especialistas aqui que poderão explicá-la melhor!
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.
Do lado do cliente e para um usuário final é JavaScript puro, ou parece ser, certo?
