Scegliere un'interfaccia utente Web principale di ASP.NET
ASP.NET Core è un framework completo dell'interfaccia utente. Scegliere le funzionalità da combinare in base alle esigenze dell'interfaccia utente Web dell'app.
Per lo sviluppo di nuovi progetti, è consigliabile ASP.NET Core Blazor.
ASP.NET Core Blazor
Blazor è un framework dell'interfaccia utente Web full-stack ed è consigliato per la maggior parte degli scenari di interfaccia utente Web.
Vantaggi dell'uso Blazordi :
- Modello di componente riutilizzabile.
- Rendering efficiente dei componenti basati su diff.
- Eseguire il rendering flessibile dei componenti dal server o dal client tramite WebAssembly.
- Creare componenti avanzati dell'interfaccia utente Web interattiva in C#.
- Eseguire il rendering statico dei componenti dal server.
- Migliorare progressivamente i componenti di cui è stato eseguito il rendering del server per una gestione dei moduli e una navigazione più fluida e per abilitare il rendering in streaming.
- Condividere il codice per la logica comune nel client e nel server.
- Interoperabilità con JavaScript.
- Integrare componenti con app basate su MVC, Razor Pages o JavaScript esistenti.
Per una panoramica completa di Blazor, l'architettura e i vantaggi, vedere ASP.NET Core Blazor e ASP.NET Modelli di hosting CoreBlazor. Per iniziare a usare la prima app, vedi Creare la prima Blazor Blazor app.
ASP.NET pagine principali Razor
Razor Pages è un modello basato su pagina per la compilazione dell'interfaccia utente Web sottoposta a rendering del server. Razor Il rendering dell'interfaccia utente delle pagine viene eseguito in modo dinamico nel server per generare il codice HTML e CSS della pagina in risposta a una richiesta del browser. La pagina arriva al client pronto per la visualizzazione. Il supporto per Razor Pages è basato su ASP.NET Core MVC.
Razor Vantaggi delle pagine:
- Compilare e aggiornare rapidamente l'interfaccia utente. Il codice per la pagina viene mantenuto con la pagina, mantenendo separati l'interfaccia utente e la logica di business.
- Testabile e ridimensionabile in app di grandi dimensioni.
- Mantenere organizzate le pagine ASP.NET Core in modo più semplice rispetto a ASP.NET MVC:
- I modelli di visualizzazione e logica specifici possono essere mantenuti insieme nello spazio dei nomi e nella directory.
- I gruppi di pagine correlate possono essere inseriti nei relativi spazio dei nomi e directory.
Per iniziare a usare la prima app ASP.NET Core Razor Pages, vedere Esercitazione: Introduzione alle Razor pagine in ASP.NET Core. Per una panoramica completa di ASP.NET Core Razor Pages, l'architettura e i vantaggi, vedere: Introduzione alle Razor pagine in ASP.NET Core.
ASP.NET Core MVC
ASP.NET Core MVC esegue il rendering dell'interfaccia utente nel server e usa un modello di architettura MVC (Model-View-Controller). Il modello MVC separa un'app in tre gruppi principali di componenti: modelli, visualizzazioni e controller. Le richieste utente vengono instradate a un controller. Il controller è responsabile dell'utilizzo del modello per eseguire azioni dell'utente o recuperare i risultati delle query. Il controller sceglie la visualizzazione da visualizzare all'utente e fornisce i dati del modello necessari.
vantaggi di ASP.NET Core MVC:
- Basato su un modello scalabile e maturo per la creazione di app Web di grandi dimensioni.
- Chiara separazione delle preoccupazioni per la massima flessibilità.
- La separazione delle responsabilità del model-view-controller garantisce che il modello aziendale possa evolversi senza essere strettamente associato ai dettagli di implementazione di basso livello.
Per iniziare a usare ASP.NET Core MVC, vedere Introduzione a ASP.NET Core MVC. Per una panoramica dell'architettura e dei vantaggi di ASP.NET Core MVC, vedere Panoramica di ASP.NET Core MVC.
ASP.NET Core Single Page Applications (SPA) con framework JavaScript front-end
Creare la logica lato client per ASP.NET app Core usando framework JavaScript più diffusi, ad esempio Angular, React e Vue. ASP.NET Core fornisce modelli di progetto per Angular, React e Vue e può essere usato anche con altri framework JavaScript.
Vantaggi di ASP.NET Core SPA con Framework JavaScript, oltre ai vantaggi del rendering client elencati in precedenza:
- L'ambiente di runtime JavaScript è già disponibile con il browser.
- Grande comunità e ecosistema maturo.
- Creare logica lato client per ASP.NET app Core usando framework diffusi JS , ad esempio Angular, React e Vue.
Aspetti negativi:
- Sono necessari altri linguaggi di codifica, framework e strumenti.
- Difficile condividere il codice in modo che una certa logica possa essere duplicata.
Per iniziare, consultare la sezione:
- Creare un'app ASP.NET Core con Angular
- Creare un'app ASP.NET Core con React
- Creare un'app core ASP.NET con Vue
- JavaScript e TypeScript in Visual Studio
Combinare più soluzioni dell'interfaccia utente Web: ASP.NET Core MVC o Razor Pages più Blazor
MVC, Razor Pages e Blazor fanno parte del framework ASP.NET Core e sono progettati per essere usati insieme. Razor i componenti possono essere integrati nelle Razor app Pages e MVC. Quando viene eseguito il rendering di una visualizzazione o di una pagina, i componenti possono essere prerisorsi contemporaneamente.
Vantaggi per MVC o Razor Pages più Blazor, oltre ai vantaggi di MVC o Razor Pages:
- La prerendering esegue Razor componenti nel server e li esegue in una visualizzazione o in una pagina, migliorando così il tempo di caricamento percepito dell'app.
- Aggiungere interattività a visualizzazioni o pagine esistenti con l'helper tag del componente.
Per iniziare a usare ASP.NET Core MVC o Razor Pages più Blazor, vedere Integrare componenti ASP.NET Core Razor con MVC o Razor Pages.
Passaggi successivi
Per altre informazioni, vedi:
ASP.NET Core è un framework completo dell'interfaccia utente. Scegliere le funzionalità da combinare in base alle esigenze dell'interfaccia utente Web dell'app.
ASP.NET Core Blazor
Blazor è un framework dell'interfaccia utente Web full-stack ed è consigliato per la maggior parte degli scenari di interfaccia utente Web.
Vantaggi dell'uso Blazordi :
- Modello di componente riutilizzabile.
- Rendering efficiente dei componenti basati su diff.
- Eseguire il rendering flessibile dei componenti dal server o dal client tramite WebAssembly.
- Creare componenti avanzati dell'interfaccia utente Web interattiva in C#.
- Eseguire il rendering statico dei componenti dal server.
- Migliorare progressivamente i componenti di cui è stato eseguito il rendering del server per una gestione dei moduli e una navigazione più fluida e per abilitare il rendering in streaming.
- Condividere il codice per la logica comune nel client e nel server.
- Interoperabilità con JavaScript.
- Integrare componenti con app basate su MVC, Razor Pages o JavaScript esistenti.
Per una panoramica completa di Blazor, l'architettura e i vantaggi, vedere ASP.NET Core Blazor e ASP.NET Modelli di hosting CoreBlazor. Per iniziare a usare la prima app, vedi Creare la prima Blazor Blazor app.
ASP.NET pagine principali Razor
Razor Pages è un modello basato su pagina per la compilazione dell'interfaccia utente Web sottoposta a rendering del server. Razor Il rendering dell'interfaccia utente delle pagine viene eseguito in modo dinamico nel server per generare il codice HTML e CSS della pagina in risposta a una richiesta del browser. La pagina arriva al client pronto per la visualizzazione. Il supporto per Razor Pages è basato su ASP.NET Core MVC.
Razor Vantaggi delle pagine:
- Compilare e aggiornare rapidamente l'interfaccia utente. Il codice per la pagina viene mantenuto con la pagina, mantenendo separati l'interfaccia utente e la logica di business.
- Testabile e ridimensionabile in app di grandi dimensioni.
- Mantenere organizzate le pagine ASP.NET Core in modo più semplice rispetto a ASP.NET MVC:
- I modelli di visualizzazione e logica specifici possono essere mantenuti insieme nello spazio dei nomi e nella directory.
- I gruppi di pagine correlate possono essere inseriti nei relativi spazio dei nomi e directory.
Per iniziare a usare la prima app ASP.NET Core Razor Pages, vedere Esercitazione: Introduzione alle Razor pagine in ASP.NET Core. Per una panoramica completa di ASP.NET Core Razor Pages, l'architettura e i vantaggi, vedere: Introduzione alle Razor pagine in ASP.NET Core.
ASP.NET Core MVC
ASP.NET Core MVC esegue il rendering dell'interfaccia utente nel server e usa un modello di architettura MVC (Model-View-Controller). Il modello MVC separa un'app in tre gruppi principali di componenti: modelli, visualizzazioni e controller. Le richieste utente vengono instradate a un controller. Il controller è responsabile dell'utilizzo del modello per eseguire azioni dell'utente o recuperare i risultati delle query. Il controller sceglie la visualizzazione da visualizzare all'utente e fornisce i dati del modello necessari.
vantaggi di ASP.NET Core MVC:
- Basato su un modello scalabile e maturo per la creazione di app Web di grandi dimensioni.
- Chiara separazione delle preoccupazioni per la massima flessibilità.
- La separazione delle responsabilità del model-view-controller garantisce che il modello aziendale possa evolversi senza essere strettamente associato ai dettagli di implementazione di basso livello.
Per iniziare a usare ASP.NET Core MVC, vedere Introduzione a ASP.NET Core MVC. Per una panoramica dell'architettura e dei vantaggi di ASP.NET Core MVC, vedere Panoramica di ASP.NET Core MVC.
ASP.NET Core Single Page Applications (SPA) con framework JavaScript front-end
Creare la logica lato client per ASP.NET app Core usando framework JavaScript più diffusi, ad esempio Angular, React e Vue. ASP.NET Core fornisce modelli di progetto per Angular, React e Vue e può essere usato anche con altri framework JavaScript.
Vantaggi di ASP.NET Core SPA con Framework JavaScript, oltre ai vantaggi del rendering client elencati in precedenza:
- L'ambiente di runtime JavaScript è già disponibile con il browser.
- Grande comunità e ecosistema maturo.
- Creare logica lato client per ASP.NET app Core usando framework diffusi JS , ad esempio Angular, React e Vue.
Aspetti negativi:
- Sono necessari altri linguaggi di codifica, framework e strumenti.
- Difficile condividere il codice in modo che una certa logica possa essere duplicata.
Per iniziare, consultare la sezione:
- Creare un'app ASP.NET Core con Angular
- Creare un'app ASP.NET Core con React
- Creare un'app core ASP.NET con Vue
- JavaScript e TypeScript in Visual Studio
Scegliere una soluzione ibrida: ASP.NET Core MVC o Razor Pages più Blazor
MVC, Razor Pages e Blazor fanno parte del framework ASP.NET Core e sono progettati per essere usati insieme. Razor i componenti possono essere integrati nelle Razor app Pages e MVC. Quando viene eseguito il rendering di una visualizzazione o di una pagina, i componenti possono essere prerisorsi contemporaneamente.
Vantaggi per MVC o Razor Pages più Blazor, oltre ai vantaggi di MVC o Razor Pages:
- La prerendering esegue Razor componenti nel server e li esegue in una visualizzazione o in una pagina, migliorando così il tempo di caricamento percepito dell'app.
- Aggiungere interattività a visualizzazioni o pagine esistenti con l'helper tag del componente.
Per iniziare a usare ASP.NET Core MVC o Razor Pages più Blazor, vedere Integrare componenti ASP.NET Core Razor con MVC o Razor Pages.
Passaggi successivi
Per altre informazioni, vedi: