Angular

Angular (noto anche come Angular 2) è un framework open source per lo sviluppo di Single-page application con licenza MIT, evoluzione di AngularJS. Sviluppato principalmente da Google, la sua prima release è avvenuta il 14 settembre 2016.

Angular (noto anche come Angular 2) è un framework open source per lo sviluppo di Single-page application con licenza MIT, evoluzione di AngularJS. Sviluppato principalmente da Google, la sua prima release è avvenuta il 14 settembre 2016.

Caratteristiche

Angular è stato concepito da Google come riscrittura da zero di AngularJS, risultando in un prodotto completamente diverso e non compatibile. A differenza di AngularJS, che supporta solo il linguaggio JavaScript, Angular è scritto in TypeScript.

Le applicazioni sviluppate in Angular sono Single-page application, pertanto vengono eseguite interamente dal web browser dopo essere state scaricate dal web server. Angular mantiene la compatibilità con tutti i principali web browser moderni, come Chrome, Microsoft Edge, Opera, Firefox, Safari ed altri.

Architettura a componenti

Angular utilizza un'architettura basata sui componenti che permette agli sviluppatori di costruire interfacce e parti di interfaccia modulari e riutilizzabili.

Ciascun componente incapsula il proprio HTML, CSS e TypeScript, rendendo possibile gestire e testare in maniera indipendente le singole parti di un'applicazione.

Ogni componente è composto da:

un file TypeScript contenente una classe che definisce la logica di funzionamento;

un file HTML che specifica il template (ovvero quello che viene visualizzato sulla pagina);

un selettore, che serve a definire il nome con cui questo componente viene incluso in altri componenti;

opzionalmente, un file CSS che definisce lo stile specifico per quel componente.

Angular supporta la definizione di template, stili e logica in un singolo file TypeScript (single file component).

Data binding

Angular support il two-way data binding, ovvero la possibilità di mantenere sincronizzato il valore sottostante di un dato e la sua rappresentazione nell'interfaccia grafica. Il framework fornisce delle primitive per garantire che una variazione del dato sottostante venga immediatamente riportata sull'interfaccia, o che un'interazione da parte dell'utente venga riportata sul dato sottostante, ad esempio nel caso di form html.

Dependency injection

Angular incorpora un sistema di Dependency injection che permette di gestire e iniettare facilmente le dipendenze dei componenti, promuovendo la modularità delle applicazioni e facilitando il testing.

Direttive

Angular estende l'HTML attraverso le direttive, attributi HTML aggiuntivi che permettono di modificare il comportamento o l'aspetto degli elementi del DOM.

Routing

Angular include un router che permette agli sviluppatori di definire e gestire gli stati delle applicazioni e i percorsi di navigazione, rendendo possibile costruire single page applications con strutture ad albero complesse.

Angular CLI

Il progetto Angular include la Angular CLI (command line interface), uno strumento da linea di comando che facilita la creazione e lo sviluppo di applicazioni Angular. Per esempio:

il comando ng new permette di creare una nuova applicazione Angular;

il comando ng generate permette di generare scheletri per i vari componenti di cui è composta un'applicazione:

il comando ng serve permette di avviare l'applicazione per lo sviluppo locale.

Storia

Angular nasce come riscrittura totale di AngularJS da parte di Google. È stato annunciato alla ng-Europe Conference del 22-23 ottobre 2014. La prima versione stabile è stata rilasciata il 14 settembre 2016, dopo una versione in anteprima per gli sviluppatori (aprile 2015), una versione beta (dicembre 2014) ed una release candidate (maggio 2016).

Dalla versione 9 in poi il motore di rendering di default è Ivy, ed è deprecato il predecessore View Engine. View Engine è stato poi rimosso completamente con la versione 13.

Nome

Inizialmente ci si riferiva ad Angular come "Angular 2", essendo di fatto l'evoluzione di Angular 1.0 (comunemente noto come AngularJS). L'adozione da parte del team di sviluppo del versionamento semantico ha però spinto Google a standardizzare "AngularJS" come nome per tutte le versioni precedenti alle 2, e Angular per quelle dalla 2 in poi, in modo da distinguere nettamente e da rimuovere qualsiasi ambiguità tra la versione originale e la riscrittura.

Supporto e pianificazione delle versioni

Tutte le versioni major sono supportate per 18 mesi. Questi 18 mesi consistono in 6 mesi di supporto attivo, durante i quali vengono effettuati aggiornamenti regolari, e in 12 mesi di supporto a lungo termine (LTS), durante i quali vengono effettuati solo gli aggiornamenti critici e di sicurezza.

In generale una nuova major viene pubblicata circa ogni 6 mesi, e per ogni major vengono pubblicate da 1 a 3 versioni minor.

Componente

Di seguito un componente Counter che permette di visualizzare un contatore e di agire sul suo stato. Il componente e definito in tre file diversi: counter.ts, counter.html, counter.css.

Single file component

Lo stesso componente in versione single file è riportato di seguito:In un file html di un altro component, a questo punto, è possibile incorporare il componente dichiarato precedentemente inserendo nel template il selettore del componente:

Servizi correlati

Altre voci

Usabilità del webU

Usabilità del web

L'usabilità dei siti web o web usability è l'applicazione dei principi dell'usabilità in quegli ambiti in cui la navigazione del web può essere considerata come un paradigma generale (o "metafora") per costruire una interfaccia grafica (GUI).

Leggi la voce →
F

Framework per applicazioni web

Un framework per applicazioni web (web application framework), in informatica e specialmente nella programmazione web, è un framework software progettato per supportare lo sviluppo di siti web dinamici, applicazioni web e servizi web.

Leggi la voce →
S

Sviluppatore web

In informatica, lo sviluppatore web (o in inglese web developer) è una figura professionale che si occupa dello sviluppo di applicazioni web, in particolare dello sviluppo del codice sorgente di programmazione, dell'ottimizzazione dei database e dei linguaggi di markup attraverso tecniche di…

Leggi la voce →
UC BrowserU

UC Browser

UC Browser è un browser web sviluppato dalla società internet mobile cino-singaporiana UCWeb, di proprietà del gruppo Alibaba. In alcuni dei mercati asiatici in rapida crescita, come l'India e l'Indonesia, è più popolare di Google Chrome.

Leggi la voce →
P

Progressive Web App

Progressive Web App (PWA, in italiano applicazione web progressiva) è un termine, coniato in origine da Google, che si riferisce ad una applicazione web che viene sviluppata e caricata come una normale pagina web, ma che si comporta in modo simile alle applicazioni native quando utilizzata su un…

Leggi la voce →
Sito webS

Sito web

Un sito web (o sito Internet oppure detto semplicemente sito) è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti informativi che risiede, tramite hosting, su un server web, raggiungibile dall'utente attraverso un comune motore di ricerca e/o un indirizzo web…

Leggi la voce →