Mixing Angolare e ASP.NET MVC / Web api?

40

Vengo dall'utilizzo di ASP.NET MVC / Web API e ora sto iniziando a utilizzare Angular ma non sono chiaro sul modo corretto di mixarli.

Una volta che utilizzo Angular, i concetti del lato server MVC forniscono ancora alcun valore? O dovrei utilizzare rigorosamente le API Web puramente per ottenere dati per le chiamate angolari HTTP?

C'è forse un punto di partenza più spoglio che dovrei usare se il modello VS aggiungesse un sacco di cose che non mi servono?

Mi piace l'idea di una divisione rigorosa del lato server = dati puri e lato client = elaborazione HTML pura.

    
posta punkouter2018 28.08.2013 - 16:22
fonte

2 risposte

17

Il modo più semplice per pensarci è che il server serve uno stato. Angular può gestire la raccolta degli aggiornamenti a quello stato e inviarlo a un web / api sul server. Se vuoi andare più app a singola pagina, il codice lato server sarebbe solo lo stato iniziale della tua app.

L'API Web è un ottimo punto di partenza per inserire i tuoi dati nella tua app. Aggiornerai eventualmente i percorsi predefiniti per soddisfare i requisiti di progettazione degli ambienti e, se lo desideri, per essere rigorosamente pieni di riposo.

Esistono poche librerie incluse in ASP4 per impostazione predefinita e quelle incluse nei modelli MVC4. Ci sono davvero molte cose incluse nella pagina che non sono necessarie, così come sono incluse nel progetto e mai nemmeno referenziate dalle loro pagine predefinite. Dovresti essere al sicuro rimuovendo tutto eccetto jQuery e mi spingo fino a eliminare jQueryUI. Molte delle impostazioni predefinite sono buone, ma una volta che inizi a compilare la conoscenza del dominio, utilizzerai le librerie che soddisfano le tue esigenze specifiche.

Anche con una divisione rigorosa troverai il lato server mvc è ancora un supporto molto pulito per una singola app di pagina. Il routing efficace nella consegna della tua pagina e delle tue chiamate API è un ottimo esempio. Un'altra caratteristica utile sono i controller che restituiscono viste che non usano la pagina master o sono solo una vista parziale. Angolare ha una "vista" che può riempire con un modello, che può essere un file statico o parziale da uno dei tuoi percorsi.

Oggi ho letto il tuo commento e ho unito una soluzione dimostrativa per mostrare ciò che ho menzionato in origine. La soluzione ha anche alcuni dei "lanci" originali rimossi anche se aggiungendo Angular e Bootstrap si ottengono le librerie principali e ogni derivazione lì con. Questo è il compromesso dell'uso di nuGet.

Dai un'occhiata a: link

Nell'apprendimento angolare ho trovato il programma Angular-Seed abbastanza utile. Soprattutto dopo aver provato le demo sul loro sito. Il progetto di esempio è abbastanza diverso da aiutarti a imparare. Dopo di che ho guardato Angular-Require-Seed ma questo è un altro post. Angolare passo dopo passo link Seme angolare: link

    
risposta data 28.08.2013 - 16:47
fonte
18

Is there maybe a more stripped down starting point I should use if the VS template is adding a lot of stuff I don't need?

Questi modelli VS sono buoni per ridurre la configurazione iniziale e la curva di apprendimento all'inizio, tuttavia dovresti personalizzarli per le tue reali esigenze di progetto.

Ad esempio, su questo sito link , il mio amico utilizza AngularJS insieme a ASP.NET MVC . Tieni presente che questo sito è stato già creato utilizzando ASP.MVC + Jquery per l'interazione tra pagine in base alle esigenze.

D'altro canto, c'è ancora del carattere "Ajaxy" nel sito come commenti, votazioni, segnalazioni, ecc. Non troppo diverso dallo Stackoverflow stesso. Prima di AngularJS era un casino di plugin e funzioni di Jquery all'interno di $(document).ready() callback, per non parlare del fatto che il codice JS non era testabile molto.

Nel complesso, il corretto mix di entrambi rende il tuo sito fluido e funzionale.

Alcunibuoniriferimentidacercare:

risposta data 28.08.2013 - 16:46
fonte

Leggi altre domande sui tag