AngularJS è un potente framework Javascript che ci permette di realizzare Single Page App, vale a dire applicazioni Web che hanno tutte le funzionalità in una singola pagina: nessuna attesa per il caricamento e massima produttività in ogni elemento.
Lo stack Frontend – Backend
In Glue Labs ci piace sviluppare seguendo pattern quali MVC ( Model View Controller ) che ci permettono di svincolare la parte di design dalla parte di funzionalità rendendo più speditiva la realizzazione di progetti complessi aumentando nel contempo bellezza e performance.
Abbiamo adattato il paradigma MVC al paradigma Front End – Back End facendo si che le web app potessero essere sviluppate più comodamente in contesti Cloud dove il Back End può sfruttare prestazioni migliori e giovarsi del salvataggio dei dati in Cloud mentre il Front End di fatto coincide con il browser dell’utente, ottenendo performance incredibili.
L’integrazione di AngularJS, Ajax e Restful API
L’utente quando accede alla web app dal proprio browser carica il front-end come farebbe caricando i contenuti di qualsiasi pagina web, ma in questo caso nel front end è stato utilizzato AngularJS che permette alla web app di avere funzionalità avanzate di modifica del documento DOM ( la pagina web) facilmente accessibili già attraverso il browser.
Quando l’utente clicca su una qualsiasi funzionalità viene generato un evento all’interno di AngularJS che lo traduce in azioni da compiere, nella fattispecie se l’azione richiede l’accesso a risorse esterne, tipo un database, AngularJS fa partire una chiamata Ajax verso il Back End su cui è stato sviluppato un Web Service e le relative API.
Il Web Service processa la chiamata ed invia la risposta all’interno della chiamata Ajax verso il front end. Questa risposta è essenzialmente XML o JSON quindi stringhe di testo che vengono ottimizzate per occupare meno flusso di banda possibile.
Ricevuta la risposta il Front End AngularJS processa la risposta e modifica opportunamente la pagina web per mostrare quanto richiesto.
I vantaggi
A prima vista potrebbero non sembrare evidenti ma tale architettura presenta numerosi vantaggi:
- Il Web Designer lavora alla parte Front End senza preoccuparsi in alcun modo della parte Back End. Ciò spesso non accade nemmeno in prodotti evoluti che sfruttano il pattern MVC
- L’applicazione ha un peso ridotto in termini di utilizzo di banda, si carica la prima volta e poi non si ricarica più
- La sicurezza è segmentata e permette di far fronte in maniera organica e più semplice ad eventuali attacchi
- Il Back End può essere distribuito e sfruttare risorse Cloud come server SQL e capacità di calcolo
Contattaci per scoprire questa architettura ed ottenere la tua Single Page App.