HTML and CSS Reference
In-Depth Information
spingono l'utilizzo di JavaScript e HTML a un livello ancora più avanzato. Ne sono un
esempio i framework per creare Single Page Application.
Single Page Application
Grazie alle nuove funzionalità offerte da JavaScript, HTML e CSS, negli ultimi anni è nato
un nuovo paradigma di sviluppo sul Web: Single Page Application (SPA d'ora in poi). Una
SPA è un'applicazione che gira interamente sul client e sfrutta il server solo per recuperare
i file JavaScript, CSS e HTML e per recuperare i dati.
Il funzionamento di una SPA è relativamente semplice. All'inizio viene scaricata sul
browser una semplice pagina HTML (definiamola masterpage ) e i file CSS e JavaScript
necessari a inizializzare l'applicazione. Successivamente, il motore JavaScript scarica il
frammento di HTML relativo alla homepage dal server e scarica i relativi dati. Il frammen-
to di HTML viene impostato come contenuto della masterpage e legato tramite binding (per
esempio con KnockoutJS, come abbiamo visto in precedenza) ai dati scaricati dal server.
In questo modo otteniamo una normale pagina che interagisce con l'utente.
Quando dobbiamo navigare verso un'altra pagina dell'applicazione, il JavaScript inter-
cetta la navigazione, scarica la pagina HTML relativa all'url verso cui abbiamo navigato,
la imposta come contenuto della masterpage (rimpiazzando quindi la vecchia pagina) e la
lega a nuovi dati che scarica dal server.
Una volta assimilato questo meccanismo, è facile intuire quali siano i punti di forza e i
punti deboli di questo paradigma di sviluppo.
Dal lato dei punti di forza, ci sono sicuramente le performance e l'usabilità. Essendo
l'applicazione eseguita principalmente sul client, il server è scaricato di molte responsabili-
tà. Tutto quello che deve fare è fornire frammenti di HTML e dati: un bel risparmio rispetto
all'elaborare le pagine a ogni navigazione. Inoltre, l'applicazione è molto più veloce perché
si riduce la latenza di rete. Non è un caso se stiamo assistendo alla creazione di applicazioni
web sempre più simili ad applicazioni desktop grazie alle SPA.
Il vero punto debole delle SPA è sicuramente l'enorme quantità di codice JavaScript
da scrivere e mantenere. Se non si ha molta dimestichezza, questo ostacolo può sembrare
di poco conto all'inizio ma, una volta che l'applicazione cresce, diventa insormontabile se
non si architettano bene le cose sin dall'inizio.
Per ridurre i problemi legati all'enorme quantità di codice JavaScript, possiamo utiliz-
zare framework per SPA esistenti, come AngularJS, DurandalJS e il nuovo Aurelia. I primi
due framework sono legacy, ovvero girano anche su browser meno recenti, come Internet
Explorer 8. La nuova versione di AngularJS (ancora non uscita al momento della scrittura
di questo libro) e Aurelia (che è il nome della nuova versione di DurandalJS ed è in versio-
ne alpha), invece, supportano solamente i browser più moderni. A prescindere dalla scelta,
Search WWH ::




Custom Search