Condividi tramite


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:

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 nelle app ASP.NET Core.

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:

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 nelle app ASP.NET Core.

Per iniziare a usare ASP.NET Core MVC o Razor Pages più Blazor, vedere Prerender e integrare i componenti ASP.NET CoreRazor.

Passaggi successivi

Per altre informazioni, vedi: