Tempo di lettura: 3 minuti
Angular (la versione relativa alla data di stesura dell’articolo è la 7) ,progetto realizzato da un gruppo di ingegneri di GOOGLE capeggiati da BRAD GREEN ,è stata realizzata come evoluzione del progetto Angularjs ,popolare framework javascript realizzato da Igor Minar (a cui si sono aggiunti Misko Hevery e Adam Abrons nel 2010, poi assunti da casa GOOGLE) ed oggi utilizzato da milioni di utenti per realizzare web App.
Per framework si intende una struttura che facilita lo sviluppo, sia in termini di velocità che in termini di ordine e mantenibilità del codice, per intendersi come possono essere Laravel,Simphony nel caso di framework php.
la versione 2x di Angular è stata rilasciata il 15 settembre 2016 mentre quella attuale settembre/ottobre 2018 ed oggi il linguaggio da preferire per lo sviluppo di applicativi Angular è il Type Script.
Il TypeScript è un’estensione, creata da Microsoft, di JavaScript e si basa sulle specifiche della versione 6 di JavaScript – ECMAScript 6 – rilasciate nel maggio 2015. Tuttavia è possibile continuare ad usare JavaScript anche se comporta delle difficoltà.
Essendo javascript un linguaggio client-side (cioè che lavora in locale,la cui sintassi non ha bisogno di essere elaborata da un server esterno), Angular sarà eseguito esclusivamente da parte del client velocizzando in maniera importante lo scambio di dati tra dispositivi.
Con Angular si creano applicativi single-page. Spa (SINGLE PAGE APPLICATION) descrive le applicazioni che sono fruibili in un’unica pagina.
Questa tipologia di applicazione lavora sempre sulla stessa view(con view si intende l’interfaccia, la pagina web) ed il browser non dovrà rielaborare ogni volta le informazioni che vengono riprodotte a video.
DATA BINDING
La caratteristica principale che ha attratto fin da subito gli utilizzatori di Angular è il ‘two-way data binding’, cioè il framework collega nativamente la view al codice. Questo collegamento consente di tenere sincronizzate le parti.
Immaginate di avere definito un archivio e di mostrare a video gli ultimi dieci fascicoli, nella parte logica avremo un dato che corrisponde ai fascicoli. Il data binding è una sincronizzazione tra i dati e l’interfaccia,ossia tra fascicoli e la view che li mostra a video.
Il two way data binding si propaga ad entrambe le parti, cioè se volessimo eliminare un fascicolo alla view questi verrebbe rimosso anche dai dati e viceversa (two way).
Tutta via la scelta del two way negli anni non si è rivelata del tutto azzeccata in quanto causava un crollo delle prestazioni in applicazioni con grosse mole di dati,specialmente nelle applicazioni mobile dove le prestazioni sono importantissime.
ANGULAR 7X
Oggi Angular gestisce il binding in maniera più intelligente. La nuova logica è il data binding one way(monodirezionale) che consente allo sviluppatore di gestire il collegamento in maniera più autonoma dato che non è sempre necessario tenere sincronizzati dati e view in entrambe le parti consentendo un risparmio di risorse.
Il two way data binding si utilizza solo se necessario.
Gli sviluppatori di angular hanno lasciato al momento la possibilità di utilizzare tre linguaggi differenti alla stesura del codice: Typescript,Javascript e Dart. Comunque il linguaggio da preferire è Typescript in quanto utilizzato nello sviluppo del framework.
APPROFONDIMENTO
Durante l’evoluzione dalla versione 1x alla 2x di Angular questi ha cambiato anche nome e sito di riferimento.La versione 1x è chiamata angular js ed il sito di riferimento è https://angularjs.org/ mentre la versione attuale ,si chiama angular ed il sito è https://angular.io/, nelle guida faccio riferimento a quest’ultima.