Quindi ho notato una tendenza negli ultimi anni degli sviluppatori web .net usando angular.js sul lato client delle applicazioni e sono diventato più curioso mentre gioco con angolare e lo paragono a come farei le cose in asp .net mvc.
Darò un rapido esempio di cosa mi ha davvero fatto pensare.
Recentemente mi sono imbattuto in una situazione al lavoro (lavoro in un ambiente .net) in cui avevo bisogno di creare una tabella vincolata ad una collezione di oggetti che aveva la capacità di aggiungere e rimuovere righe / elementi dalla collezione. Avevo un pulsante di aggiunta che creava un nuovo oggetto e aggiungeva una riga alla fine della tabella, e un pulsante di rimozione in ogni riga per rimuovere un particolare oggetto / riga. Usando asp.net mvc, mi sono trovato per la prima volta a fare una chiamata ajax al server per ogni operazione, aggiornando il modello lato server e aggiornando parte della pagina per mostrare il risultato nella tabella. Questo ha funzionato, ma non mi piaceva l'idea di chiamare il server per aggiornare il modello ogni volta, quindi ho cercato di trovare una soluzione per farlo sul lato client. Si è rivelato un compito piuttosto impegnativo, in quanto dovevo generare l'html on add con la convalida e tutto e l'indicizzazione corretta per il binding del modello. È andata peggio rimuovendo, dato che ho finito con una pazza funzione di sostituzione delle stringhe per ricreare gli indici su ciascun elemento per soddisfare i requisiti di binding (se un elemento diverso dall'ultimo viene rimosso, gli indici non sono più corretti). Ora, per curiosità, ho provato a ricreare questo a casa in angolare (che non avevo esperienza con) e mi ci sono voluti tutti circa 10 minuti con semplici funzioni per aggiungere e rimuovere elementi dal modello lato client.
Questo è solo un esempio, ma mi sembra che io sia in grado di ottenere gli stessi risultati con molte meno chiamate al server in modo angolare per il fatto che si lega a un modello lato client.
Quindi la mia domanda è, è questo un netto vantaggio dell'utilizzo di un framework mvc javascript o sono in qualche modo sotto l'uso della potenza di asp.net mvc e ho ragione nel pensare che queste operazioni dovrebbero essere fatte sul client e non avere attività che richiede chiamate al server?