Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/BlazorWebAssembly"
Differenze tra le versioni 1 e 11 (in 10 versioni)
Versione 1 del 01/01/2023 06.41.40
Dimensione: 3072
Autore: rafbor
Commento:
Versione 11 del 01/01/2023 11.12.01
Dimensione: 5789
Autore: rafbor
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 6: Linea 6:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=511838"; rilasci="20.04")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=000000"; rilasci="20.04")>>
Linea 21: Linea 21:
 * Può essere distribuito su un server di pagine statiche (ad esempio, pagine Github o Surge).  * Può essere distribuito su un server di pagine statiche (ad esempio [[https://pages.github.com/|Github Pages]] o [[https://surge.sh/|Surge]]).
Linea 23: Linea 23:
 * Conversione PWA integrata.  * Conversione '''PWA''' integrata.
Linea 37: Linea 37:
 * È richiesta la conoscenza del linguaggio di programmazione '''C#'''.
 * '''.NET [[https://it.wikipedia.org/wiki/Software_development_kit|SDK]]''' deve essere installato. Consultare la [[https://wiki.ubuntu-it.org/Programmazione/CSharp|guida sul C#]] per installare l'SDK.
 * È richiesta la conoscenza di base:
  0.
del linguaggio di programmazione '''C#'''
  0. dei concetti di web app
.
 * '''.NET [[https://it.wikipedia.org/wiki/Software_development_kit|SDK]]''' deve essere installato. Consultare [[https://wiki.ubuntu-it.org/Programmazione/CSharp|questa guida]] per installare l'SDK.
Linea 43: Linea 45:
 0. Nel terminale di '''!VisualStudioCode''' eseguire il seguente comando per creare il progetto che chiameremo `TestBlazorApp`:{{{
dotnet new blazorwasm -o TestBlazorApp
 0. Selezionare dal menù principale '''''File → Apri cartella'''''.
 0. Nella finestra di dialogo '''Apri cartella''' creare una cartella `TestBlazorApp` e selezionarla.
 0. Fare quindi clic su '''Aprire'''. Per impostazione predefinita il nome della cartella diventerà il nome e il ''namespace'' del progetto.
 0. Aprire il terminale integrato da '''!VisualStudioCode''' selezionando '''''Visualizza → Terminale''''' dal menu principale e eseguire il seguente comando: {{{
dotnet new blazorwasm
Linea 46: Linea 51:
 Verranno creati tutti i file del progetto. Convalidare tutte le richieste di '''!VisualStudioCode''' per installare le estensioni mancanti.
 0. Per avviare l'applicazione, eseguire il seguente comando:{{{
dotnet run
}}}
 Nel terminale vengono visualizzate le seguenti righe: {{{
Génération...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7166
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5214
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
}}}
 0. Fare '''''Ctrl + Clic''''' sul link [[http://localhost:5214]]. La pagina web viene aperta nel browser.
Linea 47: Linea 66:
 [[attachment:Blazor_1.png]]
 {{{#!wiki important
Se si fa clic sul collegamento '''https''', il browser vi avvertirà che il sito non è sicuro, ma è possibile continuare senza rischi. La pagina sarà considerata non sicura.
}}}<<BR>>
 Nella barra laterale sinistra si possono consultare altre due pagine: `Counter` et `Fetch data`. Alcune spiegazioni sulla pagina `Counter` in questo [[#CounterCode|paragrafo]]<<BR>>
 0. Fare '''''Ctrl + C''''' per finire.

<<Anchor(CounterCode)>>
= Analisi della pagina Counter =
Selezionare il pulsante "'''Click me'''" per incrementare il conteggio senza aggiornare la pagina.<<BR>>
L'implementazione del componente `Counter` si trova in `Pages/Counter.razor`:
{{{#!cplusplus
@page "/counter"

<PageTitle>Counter</PageTitle>

<h1>Counter</h1>

<p role="status">Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        currentCount++;
    }
}
}}}
Il codice mischia '''HTML''' e '''C#'''. Tutto il codice '''C#''' si trova nella direttiva `@code`. Si accede alla variabile `currentCount` nella pagina usando `@currentCount`.

Una richiesta di `/counter` nel browser, come specificato dalla direttiva `@page` in alto, provoca il rendering del contenuto del componente Counter.

Ogni volta che si seleziona il pulsante "'''Click me'''":
 * L'evento `onclick` viene attivato.
 * Viene richiamato il metodo `IncrementCount`.
 * `currentCount` viene incrementato.
 * Il componente viene reso per mostrare il conteggio aggiornato.
Linea 54: Linea 113:
## da questo punto in poi non modificare!


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Blazor WebAssembly è un framework SPA (Single Page Application) open source sviluppato da Microsoft per la creazione di applicazioni web UI lato client, basate su .NET e sul linguaggio di programmazione C# anziché su JavaScript.

Per creare applicazioni lato server esistono Blazor Server e Blazor Hybrid ma queste tecnologie non vengono trattate in questa guida.

Vantaggi

  • Può essere eseguito direttamente nel browser.
  • Non sono richiesti plug-in per il browser.
  • Funziona in tutti i moderni browser web, compresi quelli mobili.
  • Può essere distribuito su un server di pagine statiche (ad esempio Github Pages o Surge).

  • Richiede una conoscenza minima o nulla di JavaScript per costruire un sito web quindi è ideale per chi sviluppa applicazioni desktop in C# e vuole dedicarsi allo sviluppo web.

  • Conversione PWA integrata.

  • Compatibile con le librerie JavaScript esistenti.

Svantaggi

  • Il download di un'applicazione di grandi dimensioni in un browser richiede un certo tempo perché il runtime .NET e gli assembly vengono scaricati e memorizzati nella cache del browser, il che può influire sull'esperienza dell'utente.

Creazione di un'applicazione Blazor WebAssembly

Questo progetto sarà realizzato con VisualStudioCode.

Prerequisiti:

  • È richiesta la conoscenza di base:
    1. del linguaggio di programmazione C#

    2. dei concetti di web app.
  • .NET SDK deve essere installato. Consultare questa guida per installare l'SDK.

  • per sviluppare in C# in VisualStudioCode, deve essere installata l'estensione C# (normalmente l'editor propone di installarla quando si apre un file C#); per installare le estensioni di VisualStudioCode nel VS Code Extension Marketplace consultare questa guida..

Seguire la procedura descritta di seguito:

  1. Selezionare dal menù principale File → Apri cartella.

  2. Nella finestra di dialogo Apri cartella creare una cartella TestBlazorApp e selezionarla.

  3. Fare quindi clic su Aprire. Per impostazione predefinita il nome della cartella diventerà il nome e il namespace del progetto.

  4. Aprire il terminale integrato da VisualStudioCode selezionando Visualizza → Terminale dal menu principale e eseguire il seguente comando:

    dotnet new blazorwasm

    Verranno creati tutti i file del progetto. Convalidare tutte le richieste di VisualStudioCode per installare le estensioni mancanti.

  5. Per avviare l'applicazione, eseguire il seguente comando:

    dotnet run

    Nel terminale vengono visualizzate le seguenti righe:

    Génération...
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: https://localhost:7166
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: http://localhost:5214
    info: Microsoft.Hosting.Lifetime[0]
          Application started. Press Ctrl+C to shut down.
  6. Fare Ctrl + Clic sul link http://localhost:5214. La pagina web viene aperta nel browser.

    Blazor_1.png

    Se si fa clic sul collegamento https, il browser vi avvertirà che il sito non è sicuro, ma è possibile continuare senza rischi. La pagina sarà considerata non sicura.


    Nella barra laterale sinistra si possono consultare altre due pagine: Counter et Fetch data. Alcune spiegazioni sulla pagina Counter in questo paragrafo

  7. Fare Ctrl + C per finire.

Analisi della pagina Counter

Selezionare il pulsante "Click me" per incrementare il conteggio senza aggiornare la pagina.
L'implementazione del componente Counter si trova in Pages/Counter.razor:

   1 @page "/counter"
   2 
   3 <PageTitle>Counter</PageTitle>
   4 
   5 <h1>Counter</h1>
   6 
   7 <p role="status">Current count: @currentCount</p>
   8 
   9 <button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
  10 
  11 @code {
  12     private int currentCount = 0;
  13 
  14     private void IncrementCount()
  15     {
  16         currentCount++;
  17     }
  18 }

Il codice mischia HTML e C#. Tutto il codice C# si trova nella direttiva @code. Si accede alla variabile currentCount nella pagina usando @currentCount.

Una richiesta di /counter nel browser, come specificato dalla direttiva @page in alto, provoca il rendering del contenuto del componente Counter.

Ogni volta che si seleziona il pulsante "Click me":

  • L'evento onclick viene attivato.

  • Viene richiamato il metodo IncrementCount.

  • currentCount viene incrementato.

  • Il componente viene reso per mostrare il conteggio aggiornato.

Ulteriori risorse


CategoryNuoviDocumenti