Blazor di Microsoft: funzionalità chiave per lo sviluppo Web interattivo in .NET

Blazor di Microsoft: funzionalità chiave per lo sviluppo Web interattivo in .NET

Microsoft fornisce uno strumento per lo sviluppo di applicazioni Android e iOS native in linguaggi di programmazione come .NET o C #.

Microsoft Technology Associate mira a facilitare gli sviluppatori di dot net a utilizzare il potenziale del più recente toolkit Blazor per la creazione di applicazioni Web o applicazioni iOS / Android native. Microsoft aveva annunciato un "Blazor building" sperimentale per Blazor, una funzionalità della piattaforma ASP.NET che consente agli sviluppatori di creare applicazioni Web interattive e interfaccia utente con l'aiuto di C # anziché JavaScript. Questa associazione dei componenti consente loro di creare applicazioni mobili native utilizzando .NET o C # per Android o iOS con l'aiuto della programmazione web familiare.

Nell'anno 2019, Microsoft aveva mostrato una soluzione utilizzando la stessa tecnologia in cui ha sviluppato un'app desktop Flutter, pensata per dispositivi mobili e scritta in freccette ma invece con l'aiuto di Blazor e .NET. Microsoft Blazor è un framework di interfaccia utente Web sperimentale di ASP.NET che mira a portare le applicazioni su tutti i browser tramite WebAssembly. Consente agli sviluppatori di creare vere applicazioni full-stack e condividere il codice tra client e server senza alcun requisito di plug-in o transpilation. Microsoft sta sperimentando la piattaforma per soddisfare i requisiti degli sviluppatori che hanno familiarità con le basi della programmazione Web e i modelli per la creazione di applicazioni native. In questo articolo, esploreremo come Microsoft Blazor sta rivoluzionando i servizi di sviluppo di siti Web in .NET.

Perché Blazor è la nuova campagna pubblicitaria?

Blazor di Microsoft è il più recente framework di interfaccia utente lato client derivato dalla comunità ASP.NET. L'aspetto più venduto di questa piattaforma è la sua capacità di sviluppare ricche esperienze di interfaccia utente web con l'aiuto di CSS, HTML o C # anziché JavaScript. Ha tutto ciò che la maggior parte degli sviluppatori ha sognato per così tanto tempo. In qualità di sviluppatore di siti Web Microsoft o associato, se negli ultimi anni ti sei tenuto al passo con i nuovi sviluppi nel campo ASP.NET, hai sicuramente sentito parlare di Blazor. Il framework JavaScript è stato di fatto la misura sin dal suo inizio per lo sviluppo web front-end e gli sviluppatori non sono mai sembrati soddisfatti. E c'erano molti transpile e superset che sono sorti negli ultimi due anni come Dart, CoffeeScript, Elm, Scala, ecc. Per migliorare la piattaforma JavaScript e renderla più manutenibile. Tuttavia, Blazor ha già avviato il processo in quanto ha il potenziale di essere una piattaforma di programmazione efficiente e altamente produttiva diversa dal suo design originale e si rivela un contemporaneo diretto ai framework di sviluppo di applicazioni a pagina singola di JavaScript. Gli obiettivi primari di questo framework sono:

  • Creazione di applicazioni web / interfaccia utente ricche e interattive con l'aiuto di C # invece di JavaScript

  • Condividi o raccogli la logica dell'applicazione lato server o lato client sviluppata nel framework .NET

  • Rendering CSS e HTML dell'interfaccia utente per il supporto del browser che include i browser mobili

  • Integrazione delle ultime piattaforme di hosting come Docker e molte altre.

Il framework Blazor è una soluzione di sviluppo di applicazioni a pagina singola che consente agli utenti di creare un'interfaccia utente Web interattiva con l'aiuto di C # invece di JavaScript. Ispirato da framework JavaScript come Angular, Vue o React, utilizza concetti simili per lo sviluppo di soluzioni interattive. Qualsiasi applicazione Blazor è sviluppata dai componenti riutilizzabili di Razor, ovvero la sintassi di markup per C # e HTML. Con Blazor, Microsoft condivide vari esperimenti in corso e li trapana con le migliori applicazioni desktop con l'aiuto di Web Window. Ma gli ultimi per lo sviluppo di app mobili native sono dove la programmazione Blazor è accoppiata con i controlli Xamarin.

Leggi il blog: Microsoft sta proseguendo il suo lavoro per indirizzare lo sviluppo di app per dispositivi mobili con Blazor

Cosa rende Blazor una piattaforma flessibile per la migliore azienda di sviluppo web?

Blazor è un'architettura in quanto ha la separazione tra il modo in cui vengono visualizzate le modifiche e il modo in cui calcola i modelli dei componenti dell'interfaccia utente o le modifiche dell'applicazione. Questa caratteristica distingue questa piattaforma dai suoi contemporanei, cioè altri framework di sviluppo di interfacce utente come ReactJS, Angular o React Native che possono sviluppare solo tecnologie web basate su interfacce utente. Utilizzando più rendering per lo sviluppo di soluzioni, Blazor non solo è in grado di sviluppare i componenti basati sul Web, ma può anche sviluppare interfacce utente mobili native. Inoltre, non richiede che i componenti siano sviluppati in modo diverso, quindi i componenti sviluppati per i renderer Web non possono essere utilizzati insieme ad altri rendering mobili nativi. Ma il modello di programmazione rimane lo stesso, il che significa che una volta che gli sviluppatori acquisiscono familiarità con questo modello, è possibile creare facilmente interfacce utente con l'aiuto di qualsiasi renderizzatore. I componenti del suo modello di applicazione sono:

  • Renderer WebAssembly

  • Rendering remoto

  • Renderizzatore di elettroni

  • Renderer per binding blazer mobile

Modello di hosting : il modello AP di Blazor è ritenuto responsabile del calcolo e della gestione delle modifiche dell'interfaccia utente nei servizi di sviluppo ASP.NET. Tuttavia, gli sviluppatori possono anche utilizzare altri renderer per controllare la visualizzazione e gli aggiornamenti. Questi modelli di rendering di app sono per lo più indicati come modelli di hosting e al momento dello sviluppo di solito ci sono quattro modelli in Blazor. Sono-

  • Blazor Server

  • BlazorWebAssembly

  • Blazor Electron

  • Attacchi Blazor

Di questi modelli, Blazor Server è l'unico modello classificato come produzione supportata durante il periodo di scrittura, mentre Blazor Bindings ed Electron sono contrassegnati come modelli supportati sperimentalmente.

Microsoft Technology Associate: funzionalità di Blazor

È già stato annunciato che l'anno 2020 sarà sicuramente un apice per Blazor di Microsoft e presto diventerà mainstream. La piattaforma è veramente semplice e facile da usare in quanto combina la comodità di Razor (browser + Razor) con i concetti di ASP.NET. Blazor ha anche semplificato gli incredibili modelli nei popolari framework JavaScript come React o Angular, oltre a sfruttare i modelli offerti dalle convenzioni Dotnet o Razor. Blazor è un'incredibile piattaforma che facilita la creazione di interfacce utente Web interattive lato client con l'aiuto del framework ASP.NET. Con l'aiuto della piattaforma Blazor, gli sviluppatori possono riutilizzare librerie e codici da qualsiasi segmento di applicazioni lato server. Poiché utilizza anche il framework ASP.NET per lo sviluppo di applicazioni interattive lato client, si basa sul già potente set di framework e librerie. Alcune delle utili funzionalità di questa piattaforma che la fanno risaltare sono:

  • Ha molti componenti dell'interfaccia utente preimpostati in modo che gli sviluppatori possano iniziare facilmente a creare applicazioni sorprendenti. Questa caratteristica è molto apprezzata da ogni azienda o organizzazione di sviluppo web personalizzato

  • Questo pacchetto non richiede tecnologia o funzionalità JavaScript. Invece, le attività possono essere eseguite facilmente utilizzando C #. Questo per migliorare la produttività complessiva di sviluppatori o organizzazioni

  • ha il supporto integrato per l'autenticazione dei componenti di sviluppo di app per il framework .NET

  • Gli sviluppatori possono chiamare le funzionalità JavaScript dalla metodologia ASP.NET con l'aiuto di una funzione chiamata "interoperabilità JavaScript"

Ogni sviluppatore di siti Web Microsoft trova Blazor interessante perché è sviluppato dalla comunità ASP.NET come framework per la creazione di applicazioni lato client in esecuzione sotto WebAssembly. Offre i vantaggi di un moderno e ricco framework applicativo a pagina singola che utilizza la tecnologia ASP.NET end-to-end. Inoltre, l'idea di questo framework può potenzialmente combinare le efficienze di C # e Razor è un progetto Web lato client che può essere eseguito completamente nel browser. Ha tutte le funzionalità necessarie per creare un moderno framework web, alcune delle quali sono state elencate di seguito-

  • Modello per lo sviluppo di un'interfaccia utente componibile

  • Caricamento live del browser durante la fase di sviluppo dell'applicazione

  • Utilizzo delle più recenti funzionalità di sviluppo web

  • Iniezione di dipendenza

  • Capacità di funzionare su vecchi browser

  • Completare il debug di ASP.NET

  • Segmenti sviluppati della piattaforma di sviluppo web aperta senza richiedere plugin

  • Ricca intelligenza e strumenti di sviluppo dell'interfaccia utente

  • Rendering lato server

Leggi il blog: Qual è la differenza tra C #, .NET, ASP.NET, Microsoft.NET e Visual Studio?

Confronto tra Microsoft Blazor e sviluppo Web interattivo ASP.NET

Qualsiasi ASP.NET normale esegue il rendering dell'interfaccia utente come un blocco di stringhe. Blazor, d'altra parte, ha sviluppato o reso un albero ma non una stringa. Questo framework è una rappresentazione di un Document Object Model, il che significa che mantiene i componenti in memoria mentre Blazor mantiene la rappresentazione. Eventuali modifiche o modifiche apportate a questi componenti possono attivare un aggiornamento dell'interfaccia utente per gli stessi elementi del Document Object Model. C'è un'enorme differenza tra entrambi questi processi di rendering delle stringhe. In particolare, la migliore società di sviluppo web utilizza codici Blazor e non può accedere direttamente ai codici del modello oggetto del documento. Questa limitazione funziona in modo diverso per ASP.NET core e Razor poiché dipendono dal framework JavaScript per ottenere l'accesso completo agli elementi dell'interfaccia utente delle applicazioni interattive.

Il resort Blazor esegue il rendering degli alberi per tornare alla precedente rappresentazione DOM (Document Object Model) e cercare i pezzi particolari dello stesso modello. Successivamente, questo framework li aggiorna, li modifica o li elimina di conseguenza. Il framework semplifica le modifiche apportate al modello di documento o manipola l'albero di rendering per eseguire le modifiche. Questo meccanismo è qualcosa che consente al linguaggio C # di lavorare sul rendering di applicazioni interattive lato client. I pro di Blazor lato client sono-

  • Per i servizi di sviluppo di siti Web , Blazor consente agli sviluppatori di eseguire direttamente il codice ASP.NET nel browser. Questo framework rompe anche il monopolio del framework JavaScript su una piattaforma full-stack, poiché grazie alla sua assistenza, i professionisti .NET non hanno bisogno di diventare poliglotti di programmazione. Possono anche sviluppare intere soluzioni senza scrivere codici in JavaScript

  • I codici dell'interfaccia utente di Blazer vengono compilati in ASP.NET come linguaggio intermedio e significa che il framework ha le stesse potenzialità del codice JavaScript. Il suo modello di compilazione può anche creare un'enorme differenza per le soluzioni web dei browser basati sulle prestazioni.

  • Gli sviluppatori possono convalidare facilmente il codice tra il server o le applicazioni lato client. Ad esempio, si consideri che una piattaforma di servizi di sviluppo ASP.NET ha la logica di convalida che può essere applicata sia al back-end che al browser. Blazor ha consentito loro di creare una libreria di classi nello standard ASP.NET e di condividerla tra le applicazioni lato server o lato client. Inoltre, qualsiasi modifica nella logica di convalida verrà applicata automaticamente a ciascuna di queste piattaforme.

Blazor Server

Questo modello è uno dei modelli attualmente supportati ufficialmente e, con la sua assistenza, le applicazioni possono essere eseguite facilmente sul server ma non nel browser. Blazor Server usa la connessione SignalR per trasmettere gli aggiornamenti dell'interfaccia utente dal server al browser. Questo modello di hosting del server è attualmente nell'opzione supportata dallo stato di produzione per lo sviluppo di base di Microsoft. In questo modello, le applicazioni orientate alla piattaforma vengono eseguite sul server e nella parte superiore del runtime ASP.NET. Quando gli sviluppatori o gli utenti caricano questa applicazione, viene prima scaricato un piccolo file JavaScript che stabilisce una connessione bidirezionale in tempo reale con il server (connessione SignalR). Qualsiasi interazione tra un utente e l'applicazione viene immediatamente ritrasmessa al server corrispondente con la connessione per l'elaborazione del server. Una volta che il server ha terminato l'elaborazione, gli aggiornamenti dell'interfaccia utente e le modifiche vengono ritrasmesse allo stesso client e applicate al Document Object Model. Microsoft ha sviluppato un algoritmo ad alte prestazioni per calcolare le differenze e trasferirle in un formato binario compatto. A differenza della maggior parte delle altre applicazioni Web interattive che di solito adottano un approccio senza stato, i modelli di applicazioni server Blazor mantengono lo stesso stato su tutto il server.

Per la comunità degli sviluppatori, in alcuni casi richiede un approccio di ripensamento, ma in generale possono utilizzare concetti simili a quelli utilizzati nelle applicazioni ASP.NET core. Il più grande vantaggio di questo modello è che non è necessario sviluppare un'altra interfaccia di programmazione dell'applicazione per la comunicazione tra il server e il client. Questo perché ogni aspetto viene eseguito sul server in modo che una società di sviluppo web personalizzato o uno sviluppatore possa chiamare direttamente queste funzioni secondo la loro logica. A causa dei processi di calcolo sul server, le soluzioni web interattive di Blazor Server rappresentano una soluzione perfetta per i dispositivi di fascia bassa o i thin client.

BlazorWebAssembly

È un grosso problema per i modelli di hosting ottenere di più, ma per buone ragioni. Questo modello fornisce una concorrenza diretta allo sviluppo di applicazioni interattive JavaScript come React, VueJS o Angular. Utilizzando WebAssembly, gli sviluppatori possono scrivere facilmente la logica e i codici dell'interfaccia utente con l'aiuto di C # invece di JavaScript. Quando Microsoft ha annunciato Blazor inizialmente, si trattava interamente dei modelli WebAssembly. Questo modello ha consentito a un'applicazione di caricarsi per la prima volta nel formato di runtime e, successivamente, ha caricato l'intero assembly dell'applicazione insieme alle sue dipendenze. Le dipendenze di BlazorWebAssembly includono il framework, System.dll e così via, ma il runtime è in formato binario e gli altri assembly sono nello stesso formato in modo che gli sviluppatori possano usarlo nel consueto sviluppo di applicazioni ASP.NET.

Blazor WebAssembly utilizza il codice dell'interprete per eseguire o caricare un'applicazione e in questa modalità l'interprete può eseguire un'interfaccia utente dell'applicazione interattiva. L'unica parte di questo processo combinata nella modalità WebAssembly è il suo runtime mono. Il suo principale vantaggio sono le prestazioni e il compromesso con file di grandi dimensioni o voluminosi. Alcuni dei vantaggi di WebAssembly in Blazor sono:

  • compila i file statici, il che significa che non è necessario che gli sviluppatori considerino il runtime ASP.NET sul server

  • La maggior parte delle attività in Blazor viene scaricata dal server ai relativi client

  • Le applicazioni possono essere eseguite anche in modalità o stato offline

  • Facilita la condivisione del codice in cui i componenti C # possono essere condivisi in modo efficace tra il server e i client

Generalmente, nelle applicazioni ASP.NET, viene utilizzato un compilatore just-in-time ma non è recentemente supportato da WebAssembly. Tuttavia, potrebbe essere aggiunto nella sua futura versione dello standard, ma per ora, un altro viene utilizzato per eseguire il codice ASP.NET. La piattaforma associata Microsoft sta lavorando su piani e una compilazione Ahead Of Time (AOT) per compilare applicazioni o assembly framework direttamente in WebAssembly. Questa compilazione si traduce in un tempo di sviluppo di applicazioni interattive efficace e si dimostrerà orientata alle prestazioni in termini di runtime.

La linea di fondo

In questo momento in cui c'è già molta attenzione e discussione sull'ingresso di Blazor nello sviluppo .NET, agli sviluppatori rimangono molte scelte. In questo articolo, abbiamo esaminato l'introduzione e i concetti fondamentali di Microsoft Blazor, Sever, WebAssembly, ecc. Abbiamo anche discusso di come questo framework viene distribuito al momento per lo sviluppo di applicazioni Web interattive nella piattaforma ASP.NET. Blazor è una piattaforma entusiasmante e ha un margine di miglioramento più ampio, soprattutto in termini di sviluppo e strumenti.

Inoltre, WebAssembly è la sua tecnologia principale che la maggior parte delle società di sviluppo di app o gli sviluppatori front-end non possono semplicemente ignorare. Questa è una piattaforma eccellente per i professionisti ASP.NET che consente loro di trarne vantaggio per diventare sviluppatori full-stack senza dover apprendere linguaggi di programmazione aggiuntivi. Questa piattaforma fornisce chiarezza quando si tratta di sviluppare un'interfaccia utente per un singolo modello di programmazione e può essere appresa facilmente insieme all'applicazione dei componenti del framework ovunque.