Introduzione alla ASP.NET Core Blazor

Benvenuti in Blazor !

Blazorè un framework per la creazione di un'interfaccia utente Web sul lato client interattiva con .NET:

  • Creare interfaccia utente interattive con C# anziché JavaScript.
  • Condividere la logica dell'app scritta in .NET sul lato client e sul lato server.
  • Eseguire il rendering dell'interfaccia utente come HTML e CSS per un ampio supporto dei browser, inclusi i browser per dispositivi mobili.
  • Eseguire l'integrazione con piattaforme di hosting moderne, ad esempio Docker.

L'uso di .NET per lo sviluppo Web lato client offre i vantaggi seguenti:

  • scrivere codice in C# invece che in JavaScript.
  • Sfruttare l'ecosistema .NET esistente di librerie .NET.
  • Permette di condividere la logica dell'app tra server e client.
  • Permette di ottenere le prestazioni, l'affidabilità e la sicurezza di .NET.
  • Rimanere produttivi con Visual Studio in Windows, Linux e macOS.
  • basato su un set comune di linguaggi, framework e strumenti che sono stabili, ricchi di funzionalità e facili da usare.

Componenti

Blazor Le app sono basate sui componenti. Un componente in è un elemento dell'interfaccia utente, ad esempio una pagina, una finestra di Blazor dialogo o un modulo di immissione dati.

I componenti sono classi C# .NET incorporate in assembly .NET che:

  • Definiscono la logica di rendering dell'interfaccia utente flessibile.
  • Gestiscono gli eventi utente.
  • Possono essere annidati e riutilizzati.
  • Può essere condiviso e distribuito come Razor librerie di classi o NuGet pacchetti.

La classe del componente viene in genere scritta sotto forma di pagina Razor di markup con estensione .razor file. I componenti in Blazor sono formalmente definiti Razor componenti. Razor è una sintassi per combinare il markup HTML con il codice C# progettato per la produttività degli sviluppatori. Razorconsente di passare dal markup HTML al linguaggio C# nello stesso file con il supporto della programmazione IntelliSense in Visual Studio. Razor Le pagine e MVC usano anche Razor . A differenza di Pages e MVC, che si basano su un modello di richiesta/risposta, i componenti vengono usati in modo specifico per la logica e la composizione dell'interfaccia Razor utente sul lato client.

Blazor usa tag HTML naturali per la composizione dell'interfaccia utente. Il markup seguente illustra un componente ( ) che visualizza una finestra di dialogo ed elabora un Razor Dialog.razor evento quando l'utente seleziona un pulsante:

<div class="card" style="width:22rem">
    <div class="card-body">
        <h3 class="card-title">@Title</h3>
        <p class="card-text">@ChildContent</p>
        <button @onclick="OnYes">Yes!</button>
    </div>
</div>

@code {
    [Parameter]
    public RenderFragment ChildContent { get; set; }

    [Parameter]
    public string Title { get; set; }

    private void OnYes()
    {
        Console.WriteLine("Write to the console in C#! 'Yes' button selected.");
    }
}

Nell'esempio precedente è OnYes un metodo C# attivato dall'evento del onclick pulsante. Il testo e il titolo della finestra di dialogo ( ) vengono forniti dal ChildContent componente seguente che usa questo componente Title nell'interfaccia utente.

Il Dialog componente viene annidato all'interno di un altro componente usando un tag HTML. Nell'esempio seguente il Index componente ( ) usa il componente Pages/Index.razor Dialog precedente. L'attributo Title del tag passa un valore per il titolo alla Dialog proprietà del Title componente. Il Dialog testo del componente ( ) viene impostato dal contenuto ChildContent <Dialog> dell'elemento . Quando il Dialog componente viene aggiunto al Index componente, IntelliSense in Visual Studio velocizza lo sviluppo con la sintassi e il completamento dei parametri.

@page "/"

<h1>Hello, world!</h1>

<p>
    Welcome to your new app.
</p>

<Dialog Title="Learn More">
    Do you want to <i>learn more</i> about Blazor?
</Dialog>

Il rendering della finestra di dialogo viene eseguito Index quando si accede al componente in un browser. Quando il pulsante viene selezionato dall'utente, la console degli strumenti di sviluppo del browser visualizza il messaggio scritto dal OnYes metodo :

Componente della finestra di dialogo di cui viene eseguito il rendering nel browser annidato all'interno del componente Index. La console degli strumenti di sviluppo del browser mostra il messaggio scritto dal codice C# quando l'utente seleziona Sì. nell'interfaccia utente.

I componenti eseguono il rendering in una rappresentazione in memoria del Document Object Model (DOM) del browser denominato albero di rendering , che viene usato per aggiornare l'interfaccia utente in modo flessibile ed efficiente.

Blazor WebAssembly

Blazor WebAssembly è un framework di app a pagina singola per la creazione di app Web sul lato client interattive con .NET. Blazor WebAssembly usa standard Web aperti senza plug-in o ricompilazione del codice in altri linguaggi. Blazor WebAssembly funziona in tutti i Web browser moderni, inclusi i browser per dispositivi mobili.

L'esecuzione di codice .NET all'interno di Web browser è resa possibile da WebAssembly (abbreviato). wasm WebAssembly è un formato bytecode compatto ottimizzato per il download veloce e la velocità massima di esecuzione. WebAssembly è un standard Web aperto ed è supportato nei Web browser senza plug-in.

Il codice WebAssembly può accedere alle funzionalità complete del browser tramite JavaScript, detto interoperabilità JavaScript, spesso abbreviato in interoperabilità JavaScript o js. Il codice .NET eseguito tramite WebAssembly nel browser viene eseguito nella sandbox JavaScript del browser con le misure di sicurezza offerte dalla sandbox per la protezione da azioni dannose nel computer client.

Blazor WebAssembly esegue il codice .NET nel browser con WebAssembly.

Quando Blazor WebAssembly un'app viene compilata ed eseguita in un browser:

  • I file e i file di codice C# Razor vengono compilati in assembly .NET.
  • Gli assembly e il runtime .NET vengono scaricati nel browser.
  • Blazor WebAssembly esegue il bootstrap del runtime .NET e configura il runtime per caricare gli assembly per l'app. Il Blazor WebAssembly runtime usa l'interoperabilità JavaScript per gestire la manipolazione DOM e le chiamate API del browser.

Le dimensioni dell'app pubblicata, le dimensioni del payload, sono un fattore di prestazioni critico per l'usabilità di un'app. Un'app di grandi dimensioni impiega relativamente molto tempo a essere scaricata in un browser, influendo negativamente sull'esperienza utente. Blazor WebAssembly ottimizza le dimensioni del payload per ridurre i tempi di download:

  • Il codice non usato viene estratto dall'app quando viene pubblicato dal trimmer INTERMEDI (Intermediate Language).
  • Le risposte HTTP vengono compresse.
  • Il runtime e gli assembly .NET vengono memorizzati nella cache nel browser.

Blazor Server

Blazor disaccoglie la logica di rendering dei componenti dalla modalità di applicazione degli aggiornamenti dell'interfaccia utente. Blazor Server fornisce il supporto per Razor l'hosting di componenti nel server in un ASP.NET Core app. Gli aggiornamenti dell'interfaccia utente vengono gestiti tramite una SignalR connessione.

Il runtime rimane nel server e gestisce gli elementi seguenti:

  • Esecuzione del codice C# dell'app.
  • Invio degli eventi dell'interfaccia utente dal browser al server.
  • Applicazione di aggiornamenti dell'interfaccia utente al componente di cui è stato eseguito il rendering che vengono inviati dal server.

La connessione usata da per comunicare con il browser viene usata anche Blazor Server per gestire le chiamate di interoperabilità JavaScript.

Blazor Server esegue il codice .NET nel server e interagisce con il Document Object Model nel client tramite una connessione SignalR

Interoperabilità JavaScript

Per le app che richiedono librerie JavaScript di terze parti e l'accesso alle API del browser, i componenti supportano l'interoperabilità con JavaScript. I componenti sono in grado di usare qualsiasi libreria o API supportata da JavaScript. Il codice C# può chiamare nel codice JavaScripte il codice JavaScript può chiamare nel codice C#.

Condivisione del codice e .NET Standard

Blazor implementa l'.NET Standard, che consente ai progetti di fare riferimento a Blazor librerie conformi .NET Standard specifiche. .NET Standard è una specifica formale delle API .NET comuni tra le implementazioni di .NET. .NET Standard librerie di classi possono essere condivise tra piattaforme .NET diverse, ad esempio Blazor , .NET Framework, .NET Core, Xamarin, Mono e Unity.

Le API non valide all'interno di un Web browser (ad esempio per l'accesso al file system, l'apertura di un socket e la gestione dei thread) generano un'eccezione PlatformNotSupportedException.

Risorse aggiuntive

Benvenuti in Blazor !

Blazorè un framework per la creazione di un'interfaccia utente Web sul lato client interattiva con .NET:

  • Creare interfaccia utente interattive con C# anziché JavaScript.
  • Condividere la logica dell'app scritta in .NET sul lato client e sul lato server.
  • Eseguire il rendering dell'interfaccia utente come HTML e CSS per un ampio supporto dei browser, inclusi i browser per dispositivi mobili.
  • Eseguire l'integrazione con piattaforme di hosting moderne, ad esempio Docker.

L'uso di .NET per lo sviluppo Web lato client offre i vantaggi seguenti:

  • scrivere codice in C# invece che in JavaScript.
  • Sfruttare l'ecosistema .NET esistente di librerie .NET.
  • Permette di condividere la logica dell'app tra server e client.
  • Permette di ottenere le prestazioni, l'affidabilità e la sicurezza di .NET.
  • Rimanere produttivi con Visual Studio in Windows, Linux e macOS.
  • basato su un set comune di linguaggi, framework e strumenti che sono stabili, ricchi di funzionalità e facili da usare.

Componenti

Blazor Le app sono basate sui componenti. Un componente in Blazor è una parte dell'interfaccia utente, ad esempio una pagina, una finestra di dialogo o un modulo di immissione dati.

I componenti sono classi C# .NET incorporate in assembly .NET che:

  • Definiscono la logica di rendering dell'interfaccia utente flessibile.
  • Gestiscono gli eventi utente.
  • Possono essere annidati e riutilizzati.
  • Può essere condiviso e distribuito come Razor librerie di classi o NuGet pacchetti.

La classe del componente viene in genere scritta sotto forma di pagina Razor di markup con estensione .razor file. I componenti in Blazor sono formalmente definiti Razor componenti. Razor è una sintassi per combinare il markup HTML con il codice C# progettato per la produttività degli sviluppatori. Razorconsente di passare dal markup HTML al linguaggio C# nello stesso file con il supporto per la programmazione IntelliSense in Visual Studio. Razor Le pagine e MVC usano anche Razor . A differenza di Pages e MVC, che si basano su un modello di richiesta/risposta, i componenti vengono usati in modo specifico per la logica e la composizione dell'interfaccia Razor utente lato client.

Blazor usa tag HTML naturali per la composizione dell'interfaccia utente. Il markup seguente illustra un componente ( ) che visualizza una finestra di dialogo Razor ed elabora un evento quando Dialog.razor l'utente seleziona un pulsante:

<div class="card" style="width:22rem">
    <div class="card-body">
        <h3 class="card-title">@Title</h3>
        <p class="card-text">@ChildContent</p>
        <button @onclick="OnYes">Yes!</button>
    </div>
</div>

@code {
    [Parameter]
    public RenderFragment ChildContent { get; set; }

    [Parameter]
    public string Title { get; set; }

    private void OnYes()
    {
        Console.WriteLine("Write to the console in C#! 'Yes' button selected.");
    }
}

Nell'esempio precedente è OnYes un metodo C# attivato dall'evento del onclick pulsante. Il testo della finestra di dialogo ( ) e il titolo ( ) vengono forniti dal ChildContent componente seguente che usa questo componente Title nell'interfaccia utente.

Il Dialog componente viene annidato all'interno di un altro componente usando un tag HTML. Nell'esempio seguente il Index componente ( ) usa il componente Pages/Index.razor Dialog precedente. L'attributo Title del tag passa un valore per il titolo alla Dialog proprietà del Title componente. Il Dialog testo del componente ( ) viene impostato dal contenuto del contenuto ChildContent <Dialog> dell'elemento. Quando il Dialog componente viene aggiunto al Index componente, IntelliSense in Visual Studio velocizza lo sviluppo con la sintassi e il completamento dei parametri.

@page "/"

<h1>Hello, world!</h1>

<p>
    Welcome to your new app.
</p>

<Dialog Title="Learn More">
    Do you want to <i>learn more</i> about Blazor?
</Dialog>

Il rendering della finestra di dialogo viene eseguito Index quando si accede al componente in un browser. Quando l'utente seleziona il pulsante, nella console degli strumenti di sviluppo del browser viene visualizzato il messaggio scritto dal OnYes metodo :

Componente finestra di dialogo di cui viene eseguito il rendering nel browser annidato all'interno del componente Index. La console degli strumenti di sviluppo del browser mostra il messaggio scritto dal codice C# quando l'utente seleziona l'opzione Sì. nell'interfaccia utente.

I componenti eseguono il rendering in una rappresentazione in memoria dell'Document Object Model (DOM) del browser, denominata albero di rendering, che viene usata per aggiornare l'interfaccia utente in modo flessibile ed efficiente.

Blazor WebAssembly

Blazor WebAssembly è un framework di app a pagina singola per la creazione di app Web interattive sul lato client con .NET. Blazor WebAssembly usa standard Web aperti senza plug-in o ricompilazione del codice in altri linguaggi. Blazor WebAssembly funziona in tutti i Web browser moderni, inclusi i browser per dispositivi mobili.

L'esecuzione di codice .NET all'interno di Web browser è resa possibile da WebAssembly (abbreviato). wasm WebAssembly è un formato bytecode compatto ottimizzato per il download veloce e la velocità massima di esecuzione. WebAssembly è un standard Web aperto ed è supportato nei Web browser senza plug-in.

Il codice WebAssembly può accedere alle funzionalità complete del browser tramite JavaScript, denominato interoperabilità JavaScript, spesso abbreviato in interoperabilità JavaScript o interoperabilità JS. Il codice .NET eseguito tramite WebAssembly nel browser viene eseguito nella sandbox JavaScript del browser con le misure di sicurezza offerte dalla sandbox per la protezione da azioni dannose nel computer client.

Blazor WebAssembly esegue il codice .NET nel browser con WebAssembly.

Quando Blazor WebAssembly un'app viene compilata ed eseguita in un browser:

  • I file e i file di codice C# Razor vengono compilati in assembly .NET.
  • Gli assembly e il runtime .NET vengono scaricati nel browser.
  • Blazor WebAssembly esegue il bootstrap del runtime .NET e configura il runtime per caricare gli assembly per l'app. Il Blazor WebAssembly runtime usa l'interoperabilità JavaScript per gestire la modifica DOM e le chiamate API del browser.

Le dimensioni dell'app pubblicata, le dimensioni del payload, sono un fattore di prestazioni critico per l'usabilità di un'app. Un'app di grandi dimensioni impiega relativamente molto tempo a essere scaricata in un browser, influendo negativamente sull'esperienza utente. Blazor WebAssembly ottimizza le dimensioni del payload per ridurre i tempi di download:

  • Il codice inutilizzato viene estratto dall'app quando viene pubblicato dal trimmer del linguaggio intermedio (IL).
  • Le risposte HTTP vengono compresse.
  • Il runtime e gli assembly .NET vengono memorizzati nella cache nel browser.

Blazor Server

Blazor disaccoccoglie la logica di rendering dei componenti dalla modalità di applicazione degli aggiornamenti dell'interfaccia utente. Blazor Server fornisce il supporto per Razor l'hosting di componenti nel server in un ASP.NET Core app. Gli aggiornamenti dell'interfaccia utente vengono gestiti tramite SignalR una connessione.

Il runtime rimane nel server e gestisce gli elementi seguenti:

  • Esecuzione del codice C# dell'app.
  • Invio degli eventi dell'interfaccia utente dal browser al server.
  • Applicazione di aggiornamenti dell'interfaccia utente al componente di cui è stato eseguito il rendering che vengono inviati dal server.

La connessione usata da Blazor Server per comunicare con il browser viene usata anche per gestire le chiamate di interoperabilità JavaScript.

Blazor Server esegue il codice .NET nel server e interagisce con il Document Object Model nel client tramite una connessione SignalR

Interoperabilità JavaScript

Per le app che richiedono librerie JavaScript di terze parti e l'accesso alle API del browser, i componenti supportano l'interoperabilità con JavaScript. I componenti sono in grado di usare qualsiasi libreria o API supportata da JavaScript. Il codice C# può chiamare nel codice JavaScripte il codice JavaScript può chiamare nel codice C#.

Condivisione del codice e .NET Standard

Blazor implementa l'.NET Standard, che consente ai progetti di fare riferimento a librerie conformi .NET Standard Blazor specifiche. .NET Standard è una specifica formale delle API .NET comuni tra le implementazioni di .NET. .NET Standard librerie di classi possono essere condivise tra piattaforme .NET diverse, ad esempio Blazor , .NET Framework, .NET Core, Xamarin, Mono e Unity.

Le API non valide all'interno di un Web browser (ad esempio per l'accesso al file system, l'apertura di un socket e la gestione dei thread) generano un'eccezione PlatformNotSupportedException.

Risorse aggiuntive

Benvenuti in Blazor !

Blazorè un framework per la creazione di un'interfaccia utente Web interattiva sul lato client con .NET:

  • Creare funzionalità interattive interattive con C# invece di JavaScript.
  • Condividere la logica dell'app scritta in .NET sul lato client e sul lato server.
  • Eseguire il rendering dell'interfaccia utente come HTML e CSS per un ampio supporto dei browser, inclusi i browser per dispositivi mobili.
  • Integrazione con piattaforme di hosting moderne, ad esempio Docker.

L'uso di .NET per lo sviluppo Web lato client offre i vantaggi seguenti:

  • scrivere codice in C# invece che in JavaScript.
  • Sfruttare l'ecosistema .NET esistente di librerie .NET.
  • Permette di condividere la logica dell'app tra server e client.
  • Permette di ottenere le prestazioni, l'affidabilità e la sicurezza di .NET.
  • Rimanere produttivi con Visual Studio in Windows, Linux e macOS.
  • basato su un set comune di linguaggi, framework e strumenti che sono stabili, ricchi di funzionalità e facili da usare.

Componenti

Blazor Le app sono basate sui componenti. Un componente in Blazor è un elemento dell'interfaccia utente, ad esempio una pagina, una finestra di dialogo o un modulo di immissione dati.

I componenti sono classi C# .NET incorporate in assembly .NET che:

  • Definiscono la logica di rendering dell'interfaccia utente flessibile.
  • Gestiscono gli eventi utente.
  • Possono essere annidati e riutilizzati.
  • Può essere condiviso e distribuito come Razor librerie di classi o NuGet pacchetti.

La classe del componente viene in genere scritta sotto forma di pagina Razor di markup con estensione .razor file. I componenti in Blazor sono formalmente definiti Razor componenti. Razor è una sintassi per combinare il markup HTML con il codice C# progettato per la produttività degli sviluppatori. Razorconsente di passare dal markup HTML al linguaggio C# nello stesso file con il supporto per la programmazione IntelliSense in Visual Studio. Razor Le pagine e MVC usano anche Razor . A differenza di Pages e MVC, che si basano su un modello di richiesta/risposta, i componenti vengono usati in modo specifico per la logica e la composizione dell'interfaccia Razor utente lato client.

Blazor usa tag HTML naturali per la composizione dell'interfaccia utente. Il markup seguente illustra un componente ( ) che visualizza una finestra di dialogo Razor ed elabora un evento quando Dialog.razor l'utente seleziona un pulsante:

<div class="card" style="width:22rem">
    <div class="card-body">
        <h3 class="card-title">@Title</h3>
        <p class="card-text">@ChildContent</p>
        <button @onclick="OnYes">Yes!</button>
    </div>
</div>

@code {
    [Parameter]
    public RenderFragment ChildContent { get; set; }

    [Parameter]
    public string Title { get; set; }

    private void OnYes()
    {
        Console.WriteLine("Write to the console in C#! 'Yes' button selected.");
    }
}

Nell'esempio precedente è OnYes un metodo C# attivato dall'evento del onclick pulsante. Il testo della finestra di dialogo ( ) e il titolo ( ) vengono forniti dal ChildContent componente seguente che usa questo componente Title nell'interfaccia utente.

Il Dialog componente viene annidato all'interno di un altro componente usando un tag HTML. Nell'esempio seguente il Index componente ( ) usa il componente Pages/Index.razor Dialog precedente. L'attributo Title del tag passa un valore per il titolo alla Dialog proprietà del Title componente. Il Dialog testo del componente ( ) viene impostato dal contenuto ChildContent <Dialog> dell'elemento . Quando il Dialog componente viene aggiunto al Index componente, IntelliSense in Visual Studio lo sviluppo con la sintassi e il completamento dei parametri.

@page "/"

<h1>Hello, world!</h1>

<p>
    Welcome to your new app.
</p>

<Dialog Title="Learn More">
    Do you want to <i>learn more</i> about Blazor?
</Dialog>

Il rendering della finestra di dialogo viene eseguito Index quando si accede al componente in un browser. Quando l'utente seleziona il pulsante, nella console degli strumenti di sviluppo del browser viene visualizzato il messaggio scritto dal OnYes metodo :

Componente finestra di dialogo di cui viene eseguito il rendering nel browser annidato all'interno del componente Index. La console degli strumenti di sviluppo del browser mostra il messaggio scritto dal codice C# quando l'utente seleziona l'opzione Sì. nell'interfaccia utente.

Il rendering dei componenti viene eseguito in una rappresentazione in memoria dell'Document Object Model (DOM) del browser, denominata albero di rendering, che viene usata per aggiornare l'interfaccia utente in modo flessibile ed efficiente.

Blazor WebAssembly

Blazor WebAssembly è un framework di app a pagina singola per la creazione di app Web interattive sul lato client con .NET. Blazor WebAssembly usa standard Web aperti senza plug-in o ricompilazione del codice in altri linguaggi. Blazor WebAssembly funziona in tutti i Web browser moderni, inclusi i browser per dispositivi mobili.

L'esecuzione di codice .NET all'interno di Web browser è resa possibile da WebAssembly (abbreviato). wasm WebAssembly è un formato bytecode compatto ottimizzato per il download veloce e la velocità massima di esecuzione. WebAssembly è un standard Web aperto ed è supportato nei Web browser senza plug-in.

Il codice WebAssembly può accedere alle funzionalità complete del browser tramite JavaScript, denominato interoperabilità JavaScript, spesso abbreviato in interoperabilità JavaScript o interoperabilità JS. Il codice .NET eseguito tramite WebAssembly nel browser viene eseguito nella sandbox JavaScript del browser con le misure di sicurezza offerte dalla sandbox per la protezione da azioni dannose nel computer client.

Blazor WebAssembly esegue il codice .NET nel browser con WebAssembly.

Quando Blazor WebAssembly un'app viene compilata ed eseguita in un browser:

  • I file e i file di codice C# Razor vengono compilati in assembly .NET.
  • Gli assembly e il runtime .NET vengono scaricati nel browser.
  • Blazor WebAssembly esegue il bootstrap del runtime .NET e configura il runtime per caricare gli assembly per l'app. Il Blazor WebAssembly runtime usa l'interoperabilità JavaScript per gestire la modifica DOM e le chiamate API del browser.

Le dimensioni dell'app pubblicata, le dimensioni del payload, sono un fattore di prestazioni critico per l'usabilità di un'app. Un'app di grandi dimensioni impiega relativamente molto tempo a essere scaricata in un browser, influendo negativamente sull'esperienza utente. Blazor WebAssembly ottimizza le dimensioni del payload per ridurre i tempi di download:

  • Il codice non usato viene rimosso dall'app quando questa viene pubblicata dal linker del linguaggio intermedio.
  • Le risposte HTTP vengono compresse.
  • Il runtime e gli assembly .NET vengono memorizzati nella cache nel browser.

Blazor Server

Blazor disaccoccoglie la logica di rendering dei componenti dalla modalità di applicazione degli aggiornamenti dell'interfaccia utente. Blazor Server fornisce il supporto per Razor l'hosting di componenti nel server in un ASP.NET Core app. Gli aggiornamenti dell'interfaccia utente vengono gestiti tramite SignalR una connessione.

Il runtime rimane nel server e gestisce gli elementi seguenti:

  • Esecuzione del codice C# dell'app.
  • Invio degli eventi dell'interfaccia utente dal browser al server.
  • Applicazione di aggiornamenti dell'interfaccia utente al componente di cui è stato eseguito il rendering che vengono inviati dal server.

La connessione usata da Blazor Server per comunicare con il browser viene usata anche per gestire le chiamate di interoperabilità JavaScript.

Blazor Server esegue il codice .NET nel server e interagisce con il Document Object Model nel client tramite una connessione SignalR

Interoperabilità JavaScript

Per le app che richiedono librerie JavaScript di terze parti e l'accesso alle API del browser, i componenti supportano l'interoperabilità con JavaScript. I componenti sono in grado di usare qualsiasi libreria o API supportata da JavaScript. Il codice C# può chiamare nel codice JavaScripte il codice JavaScript può chiamare nel codice C#.

Condivisione del codice e .NET Standard

Blazor implementa l'.NET Standard, che consente Blazor ai progetti di fare riferimento a librerie conformi .NET Standard specifiche. .NET Standard è una specifica formale delle API .NET comuni tra le implementazioni di .NET. .NET Standard librerie di classi possono essere condivise tra piattaforme .NET diverse, ad esempio Blazor , .NET Framework, .NET Core, Xamarin, Mono e Unity.

Le API non valide all'interno di un Web browser (ad esempio per l'accesso al file system, l'apertura di un socket e la gestione dei thread) generano un'eccezione PlatformNotSupportedException.

Risorse aggiuntive