La programmazione groupthink e cargocult è forte in questa discussione. Il tuo amico architetto ha entrambi ragione (probabilmente per le ragioni sbagliate) e allo stesso tempo sbagliato.
che non è flessibile come WebForms
Questo è solo stupido.Puoi fare qualsiasi cosa con qualsiasi cosa. Sono entrambi incredibilmente flessibili. In termini di flessibilità, MVC è probabilmente il vincitore chiaro in quanto è possibile ottenere facilmente la programmazione orientata agli aspetti (AOP) utilizzando ActionFilters. Un altro motivo per cui MVC è probabilmente il vincitore qui è che l'iniezione di dipendenza è pensata in MVC. È possibile avere l'inversione dell'iniezione di controllo e dipendenza in WebForms ma richiede implementazioni complesse che coinvolgono il modello Model-View-Presenter.
L'app MVC sarà più lenta di un'app di moduli Web.
Questo non è valido per la richiesta, come scritto. Qualsiasi applicazione può essere scritta più lentamente in quanto è un processo complesso che coinvolge molti aspetti per raggiungere un prodotto finale. Tuttavia, in termini di velocità raw. Le forme Web sono notevolmente più veloci. https://stackoverflow.com/a/20253243/37055
che è più leggero perché non c'è ciclo di vita pagina, ViewState, ecc .. E 'dovrebbe quindi caricare più velocemente per lo meno
Questo è anche un'istruzione non valida per fare. Il ciclo di vita della pagina è irrilevante in tutti gli aspetti perché ci sono cicli di vita del corollario in MVC rispetto a controller e filtri di azione. Lo stato di visualizzazione è interessante ... se si sceglie di riempire 100 e 1000 di kilobyte di dati nello stato di visualizzazione che richiede che ogni postback sul server abbia una richiesta da 1MB-5MB, sì sarà ovviamente più veloce fare quasi tutto diversamente. Questo non è un errore di webform, tuttavia Webforms ti permette di cadere molto facilmente nella fase di fallimento con viewstate.
ASP.NET MVC è migliore per le applicazioni su larga scala rispetto ai WebForm ASP.NET?
No. Tuttavia la risposta a questa domanda "è ASP.NET WebForm per app su larga scala rispetto ai WebForms ASP.NET?" La risposta è anche No. La risposta è no, perché la risposta è sempre dipende da. Ogni framework ha pro/contro e devi misurarli, non ci sono risposte definitive.
Se stai costruendo un sito basato sui contenuti, chi ha il compito è quello di avere i tempi di caricamento delle pagine più veloci possibili, come ad esempio www.microsoft.com, quindi potresti davvero scegliere le webform.
quale sceglieresti di utilizzare per un'applicazione enterprise su larga scala?
In primo luogo, molto probabilmente non si ha questo problema. Non si sarebbe in grado di fare questa domanda se si fosse veramente responsabili di progettare un'applicazione enterprise su larga scala. (o il processo di assunzione in realtà non richiedeva esperienza di sviluppo su larga scala).
In termini di un'applicazione su larga scala, la struttura scelta è quasi priva di significato. Le applicazioni su larga scala sono basate sulla messa in coda. Sfrutteranno strumenti come MSMQ direttamente o tramite un servicebus come: Mass Transit, Azure Service Bus o NServiceBus. Solo con l'accodamento puoi raggiungere la scala per gestire milioni di richieste come fanno Amazon, Ebay e ogni altro giocatore importante.
Penso che vogliate rivedere l'ultima frase, poiché sia MVC che WebForm sono ASP.NET. –
fatto grazie per l'heads up – Sergey
ancora di più: intendevi "è ASP.NET MVC migliore ... di ASP.NET WebForms " –