<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><div>Il giorno 30 set 2015, alle ore 00:02, Marco Paolini <<a href="mailto:markopaolini@gmail.com">markopaolini@gmail.com</a>> ha scritto:<br><br></div><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-09-29 21:52 GMT+02:00 Carlo Miron <span dir="ltr"><<a href="mailto:miron@python.it" target="_blank">miron@python.it</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2015-09-29 20:00 GMT+02:00 Marco Paolini <<a href="mailto:markopaolini@gmail.com">markopaolini@gmail.com</a>>:<br>
<br>
<br>
> [...] soprattutto perchè per fare<br>
<span class="">> il rendering della pagina single page app lato server hai *comunque* bisogno<br>
> di interprete javascript lato server.<br>
<br>
</span>Uhm? In che senso? Puoi elaborare?<br></blockquote><div><br></div><div>Una single page app angular per esempio, è composta da una pagina statica mezza vuota (index.html) che popola il DOM iniziale e carica la app angular stessa. Appena la app angualr prende il controllo crea dinamicamente lato client tutti gli elementi del DOM necessari per visualizare correttamtnte la pagina. Da questo momento in poi, angular ha preso il controllo e gestisce autonomamente tutto, caricando risorse dal server se ne ha bisogno.</div><div><br></div><div>Questa sequenza appena descritta non è ottimale perchè prevede il caricamento di una pagina "stub" dal server che e poi il caricamento dell'intera app partendo in pratica da zero.</div><div><br></div><div>Per ottimizzare, il server nodejs (con l'aiiuto di vari framework e librerie) lancia lato server la app angular alla prima visita, in modo da tornare al browser un html che equivale alla pagina manipolata da angular a loading completato.</div><div><br></div><div>Ah poi node serve per tutta la toolchain dello sviluppo frontend: da package management (bower) alla fase di build (grunt) fino al testing.</div><div><br></div><div>Spero di essere stato chiaro, non sono un espertone</div><div><br></div></div></div></div></blockquote><br><div>Abbastanza curioso come procedimento e in questo caso il server si fa carico di una parte di lavoro che sarebbe fattibile dal client con il vantaggio di distribuire questo lavoro sulle risorse di elaborazione dei client invece che affidare la renderizzazione al server. </div><div><br></div><div>Non ne comprendo il vantaggio. Inoltre lato server a mio avviso linguaggi come python sono più 'adatti' e non ti costringono a fare tutto asincrono come con node.js. </div><div><br></div><div>Di javascript ne usiamo tanto ma se posso evitarmelo almeno sul server lo ritengo una benedizione ;)</div><div><br></div><div><br></div><div>G</div></body></html>