Toscana Calcio

Informazioni sull'Italia. Seleziona gli argomenti di cui vuoi saperne di più su Toscana Calcio

Sviluppo Blazor: componenti che si adattano sempre

Sviluppo Blazor: componenti che si adattano sempre

Gli sviluppatori possono usare la libreria di classi Razor per usare i componenti Razor comuni a tutte e quattro le varianti Blazor (Blazor WebAssembly, Blazor Server, Blazor Desktop e Blazor MAUI), come spiegato nell’articolo “Implementazione di Blazor per tutte le piattaforme”.

annuncio

Le differenze tra i quattro tipi Blazor includono anche il fatto che consentono diverse strutture di livelli (Figure 1 e 2):

  • Blazor WebAssembly è sempre un’applicazione a 3 livelli perché viene eseguita nella sandbox del browser Web, che fornisce solo l’accesso ai servizi Web basati su HTTP(S) (incluse API REST, altre API Web, servizi gRPC o servizi SignalR) consentiti.
  • Tuttavia, con l’implementazione del server Blazor, il codice del programma C# viene eseguito nel server Web senza sandboxing. Da qui, gli sviluppatori possono accedere direttamente a qualsiasi risorsa come i sistemi di gestione dei database, purché siano accessibili da un server web. E’ possibile anche l’accesso ai servizi web; Quindi è possibile scegliere tra architetture a due e tre livelli.
  • Le applicazioni desktop Blazor vengono eseguite direttamente nel contesto utente di Windows senza sandboxing. È possibile accedere a tutte le risorse a cui ha accesso un utente registrato. Anche in questo caso gli sviluppatori possono scegliere tra architetture a due e tre livelli.
  • Blazor MAUI non funziona anche in modalità sandbox. Tuttavia, di solito non sono presenti driver di database sui sistemi operativi mobili. Pertanto l’architettura a 3 strati è comune; Il secondo livello non è auspicabile sulle piattaforme mobili.

Figura 1: architettura di Blazor WebAssembly e Blazor Server

(Foto: Dr. Holger Schittenberg)

Immagine 2: architettura di Blazor Desktop e Blazor MAUI

(Foto: Dr. Holger Schittenberg)

annuncio

Se si desidera scrivere un’applicazione Blazor che viene eseguita nella libreria di classi Razor e può essere integrata da tutti i tipi Blazor (nei progetti principali, vedere “Implementazione Blazor per tutte le piattaforme”), è necessario avere accesso alle risorse necessarie per abilitare tutti i Blazor tipi. Idea 1: ciò che tutte le varianti Blazor hanno in comune è un’applicazione a tre livelli. Pertanto, se i componenti Razor nella libreria di classi Razor accedono sempre al database tramite un servizio Web, funzioneranno in tutte le varianti Blazor.

Questo è vero, ma è l’unica opzione. Chiunque utilizzi servizi Web nel server applicazioni in Blazor Server e Blazor Desktop, anche se può anche accedere direttamente al sistema di gestione del database, incorrerà in ulteriore traffico di rete, rallentando inizialmente l’applicazione. Il server delle applicazioni probabilmente compenserà questo problema con una buona memorizzazione nella cache.

Tuttavia, qui verrà presentato un approccio in cui Blazor Server e Blazor Desktop usano direttamente il database, mentre Blazor WebAssembly e Blazor MAUI accedono allo stesso database tramite un servizio Web. Tutti e quattro i tipi Blazor usano gli stessi componenti Razor nella libreria di classi Razor comune.

Gli sviluppatori possono spostare tutto l’accesso ai dati nei progetti principali e ridurre i componenti Razor nella libreria di classi Razor per visualizzarli. In questo esempio, Razor Components può recuperare i dati e archiviarli nella libreria di classi Razor. A questo scopo viene introdotto uno strato di astrazione per accedere ai dati tra due e tre strati, il che è molto efficace con un trucco.

alla home page

READ  Fortnite: la stagione che ha iniziato a riportare in gioco il mondo di gioco del 2018: Tower