<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>Marco</div></div></div></div>