Ciò merita qualche spiegazione.
Per cominciare:
GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.
Discourse è in realtà per lo più Ruby on Rails e (secondo GitHub) solo un quarto è javascript, anche se è un quarto estremamente critico e domina il lato client.
I motivi per cui Discourse e altri siti web(/webapp) moderni utilizzano Javascript sono:
- carico di lavoro: solleva il server da molto lavoro, aiutando il sito web a scalare meglio (ehi, fai in modo che la macchina dell’utente condivida parte del lavoro, perché no?!)
- larghezza di banda: sebbene il caricamento iniziale possa essere leggermente più lungo per scaricare quel javascript, il caricamento intermedio dei dati da quel momento in poi è MOLTO più veloce utilizzando MOLTA meno larghezza di banda (se il mondo perdesse javascript domani, internet potrebbe fermarsi?), perché devi trasferire solo i dati e non tutto il markup e il layout di tutta l’interfaccia utente. Quindi le cose vengono fatte sul web molto più velocemente e abilita connessioni a bassa larghezza di banda come connessioni mobili scadenti.
- UI: migliora la natura dinamica dell’interfaccia utente, quindi l’esperienza utente è migliore (ad esempio, fai clic su un pulsante per aggiornare solo una parte dello schermo - niente grandi ridisegni del browser).
- è uno standard: Javascript è uno standard su tutti i browser moderni, inclusi quelli mobili, quindi è “scrivi una volta” e porta qualità simili a un’app alla maggior parte dei dispositivi.
- separazione delle responsabilità: disaccoppia i processi del server dal doversi preoccupare del rendering dell’interfaccia utente (di solito), rendendo più facile la migrazione o il supporto di altri front-end che potrebbero non essere basati su javascript (o addirittura HTML). App per iOS, qualcuno?
Sono sicuro che ci siano molti altri vantaggi, ma questi sono quelli di base.
