Cosa c’è dietro il clamore di Blazor?

BlazorBlazor è un nuovo framework per la creazione dell’interfaccia utente sul lato client del team ASP.NET.

Il suo punto di forza è la capacità di creare un’interfaccia utente web utilizzando HTML, CSS e C # invece di JavaScript, qualcosa che molti sviluppatori hanno sempre sognato.

JavaScript è stato lo standard di fatto per lo sviluppo web front-end sin dal suo inizio, ma Blazor ha già iniziato a dimostrare di avere un potenziale come modello di programmazione altamente efficiente e produttivo al di fuori del suo design originale, come concorrente diretto dei framework di applicazioni JavaScript a pagina singola (Spa).

Cosa rende Blazor così flessibile?

In sostanza, Blazor ha una separazione tra il modo in cui calcola le modifiche dell’interfaccia utente (modello di app / componente) e il modo in cui tali modifiche vengono applicate (renderer).

Questo distingue Blazor da altri framework di interfaccia utente come Angular o ReactJS / React Native che possono creare solo interfacce utente basate sulla tecnologia web.

Utilizzando diversi renderer, Blazor è in grado di creare non solo interfacce utente basate sul Web, ma anche interfacce utente mobili native.

Ciò richiede che i componenti siano creati in modo diverso, anche se il modello di programmazione è lo stesso.

Significa che una volta che gli sviluppatori hanno acquisito familiarità con esso, possono creare interfacce utente utilizzando qualsiasi renderer.

Fondamentalmente, il modello di componenti di Blazor è responsabile del calcolo delle modifiche dell’interfaccia utente, ma puoi usare diversi renderer per controllare come l’interfaccia utente viene effettivamente visualizzata e aggiornata.

Al momento della scrittura, ci sono quattro modelli di renderer per Blazor in varie fasi di sviluppo.

Server Blazor

  • Piattaforma: Web
  • Stato – GA / produzione supportata

Blazor WebAssembly

  • Piattaforma: Web
  • Stato: disponibile da Maggio 2020

Blazor Electron

  • Piattaforma: desktop (Windows, Mac e Linux)
  • Stato: sperimentale (non vincolato)

Associazioni mobili Blazor

  • Piattaforma: mobile (iOS e Android)
  • Stato: sperimentale (non vincolato)

Blazor Server è stato il primo modello ad essere rilasciato, seguito da Blazor WebAssembly nel maggio 2020.

Blazor Electron e Mobile Blazor Bindings sono entrambi contrassegnati come sperimentali e Microsoft non si è ancora impegnata a distribuirli.

Di questi quattro modelli di hosting, i primi tre hanno una caratteristica in comune: comprendono tutti gli standard web.

I componenti creati per indirizzare questi modelli di hosting utilizzeranno HTML e CSS.

Ma il quarto modello non usa il renderer non basato su standard web.

E’ possibile utilizzare le proprie conoscenze del frame work .NET per realizzare una Single Page Application e produrre un’interfaccia utente per qualsiasi tipo di app e su qualsiasi piattaforma.

Blazor Server

Il modello di hosting del server Blazor è stato rilasciato nel settembre 2019 con  il frame work .NET Core 3.

Quando l’utente carica l’applicazione, viene scaricato un file che stabilisce una connessione SignalR bidirezionale in tempo reale con il server.

Qualsiasi interazione che l’utente ha con l’app viene quindi ritrasmessa al server tramite la connessione SignalR affinché il server possa elaborarla.

Al termine del server, tutti gli aggiornamenti dell’interfaccia utente vengono ritrasmessi al client.

Benefici

  • Funziona con il runtime .NET Core completo
  • Ciclo di sviluppo veloce
  • Dimensioni di download ridotte
  • Il codice viene conservato sul server e non viene scaricato sul client

Contro

  • Non funziona bene in ambienti ad alta latenza
  • Nessun supporto offline: richiede una connessione costante al server
  • Elevata richiesta di risorse sul server

Blazor WebAssembly

Questo modello rappresenta un concorrente diretto alle SPA JavaScript come Angular, VueJS e React.

Benefici

  • Compila in file statici, quindi non richiede l’utilizzo di .NET sul server
  • Il lavoro viene scaricato dal server al client
  • Le app possono essere eseguite in uno stato offline
  • Gli elementi C # possono essere condivisi facilmente tra client e server

Inconvenienti

  • Tempo di caricamento. A causa delle dimensioni del download, i dispositivi con connessioni scadenti possono subire tempi di caricamento iniziale più lunghi.
  • Runtime limitato. Le app devono funzionare nella sandbox del browser e sono soggette alle stesse limitazioni di sicurezza di qualsiasi applicazione JavaScript.

Qual è il futuro di Blazor?

Se tutti gli attuali modelli di hosting per Blazor passano alla produzione, gli sviluppatori .NET avranno la possibilità di apprendere un unico modello di programmazione che possono utilizzare per creare interfacce utente ovunque. Per questo, Blazor è destinato a diffondersi e migliorarsi sempre di più.

I nostri pacchetti hosting Windows supportano Blazor.

Se hai bisogno di aiuto o vuoi maggiori informazioni, contatta il nostro supporto tecnico all’indirizzo mail o al numero +3906452216038, troverai un team di esperti in grado di rispondere ad ogni tua esigenza.

You may also like