Perché dovrei usare Angolare?

19

Dal tutorial Angular di base, sembra che tutto ciò che fa sia recuperare un JSON da un'API e visualizzarlo. Inoltre, c'è il suo doppio legame magico.

Ma perché dovrei usarlo al posto di una soluzione di back-end (come Rails) che costruisce la vista nel back-end e la serve all'utente, con tutto già in posto? Quali sono i casi d'uso?

    
posta gberger 10.05.2013 - 02:18
fonte

3 risposte

23

TLDR;

Angular ti aiuta ad affrontare la complessità insita nelle interfacce utente ricche. Con l'aumentare della complessità dell'interfaccia utente, il modello tradizionale di generazione di pagine sul server diventa molto più complesso. Angolare ti consente di scomporre l'interfaccia utente in blocchi gestibili e ti consente di separare l'interfaccia utente dall'implementazione. Ciò rende la generazione di pagine sul lato server molto più semplice, ma Angular diventa davvero speciale quando si passa alle applicazioni basate su javascript. Un buon esempio di tale applicazione è Trello .

La lunga storia

Angular non è realmente mirato a siti che puoi facilmente implementare generando tutto sul server e inviandolo. Inoltre, benché questo sia un approccio perfettamente valido che funziona per molti siti e applicazioni su Internet, diventa sempre più complesso (quindi difficile) mantenere tale approccio lavorando mentre si tenta di aumentare il livello di interattività nel proprio sito.

In definitiva, il modo in cui risolvi questo è spingendo l'interfaccia utente sempre di più nel lato Javascript dell'equazione. Angolare ti consente di suddividere l'interfaccia utente in componenti, offrendoti una netta separazione tra l'aspetto e il tatto e il come funziona. È quindi possibile creare pagine abbastanza semplici sul server e il front-end JS viene utilizzato per creare un'interfaccia utente ricca che riattiva le chiamate al server per i dati di cui hanno bisogno.

C'è un punto, però, in cui tutto ciò che si vuole fare è server una pagina stub che carica un'applicazione completamente basata su javascript. Probabilmente l'esempio più noto del caso d'uso in cui Angular brilla davvero è Trello (usa Backbone, non Angular, ma è lo stesso caso d'uso). C'è un sito link che contiene altri siti di esempio che utilizzano Angular.

Quindi la risposta breve? Angular semplifica la creazione di interfacce utente ricche e altamente interattive, consentendo di decomporre l'interfaccia utente in componenti e, infine, di passare completamente in javascript.

    
risposta data 10.05.2013 - 03:40
fonte
6

Si tratta di rendere più reattive le interfacce utente. Il doppio binding, l'iniezione delle dipendenze e così via rende possibile creare facilmente pagine dinamiche. Puoi scrivere direttive in Angular che ti offrono un modo dichiarativo per costruire una vista.

Ad esempio, in un progetto corrente abbiamo una vista che utilizza diverse centinaia di righe di codice JavaScript per rendere l'esperienza utente reattiva. Anche così la pagina è un po 'bacata e molto difficile da mantenere. Abbiamo iniziato a cercare un'opzione migliore e abbiamo esaminato backbone.js e knockout.js. Alla fine abbiamo provato Angular. Siamo riusciti a creare una pagina molto più reattiva e gestibile con poche righe di codice. Andato era tutto il codice di manipolazione DOM. Sono finite tutte le creazioni di visualizzazione backend goffa che dovevano essere recuperate e inserite nei posti giusti. Andato era tutto il codice che è stato scritto per mantenere il modello e la vista in sincronia. Con questa esperienza la decisione di passare ad Angular è diventata più facile e finora non ce ne siamo pentiti.

    
risposta data 10.05.2013 - 03:21
fonte
3

Angular è destinato allo sviluppo di applicazioni per pagina singola, aiuta a fornire uno scheletro solido per la tua app. È anche buono con le forme, non così bene con interfacce utente complesse e affollate con molti dati. L'associazione bidirezionale dei dati è "magica" all'inizio, ma devi essere consapevole che i framework più recenti (incluso lo stesso Angular 2) si allontanano dall'associazione dati bidirezionale per un più semplice approccio di flusso / flusso di dati verso l'alto (dicendo che la storia sarebbe troppo lunga qui).

Devo anche avvertirti che Angular non ha un modo preciso di fare le cose e talvolta offre troppi modi per dare una pelle a un gatto, il che può rendere più ripida la curva di apprendimento. Inoltre, se desideri ridimensionare un'app Angolare, dovrai comprendere la sua meccanica interna e il possibile impatto sulle prestazioni. Una volta che lo fai, e una volta che stabilisci consistenti modelli di design solido, il cielo è il limite. Ma devi dedicare del tempo ad esso.

Detto questo, la tua domanda sembra essere più su quali siano i casi d'uso delle SPA piuttosto che su quelle di Angular.

I casi d'uso delle applicazioni a singola pagina sono per avere web app con UI / UX robuste e una sensazione generale di applicazione migliore. Non dovendo ricaricare la tua pagina puoi risparmiare tempo e larghezza di banda. Separate anche i dati e la presentazione, il che è fantastico. La tua domanda diventa:

  • File statici, incluso il tuo index.html
  • Un'API REST contenente dati
  • Un'applicazione front-end basata sui dati
risposta data 06.05.2015 - 18:19
fonte

Leggi altre domande sui tag