Dimensione: 6119
Commento:
|
Dimensione: 6032
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 4: | Linea 4: |
<<Include(NuoviStrumentiWiki/PaginaDiProva)>> | |
Linea 10: | Linea 9: |
'''Blazor !WebAssembly''' è un framework '''SPA''' (Single Page Application) open source sviluppato da [[https://www.microsoft.com/|Microsoft]] per la creazione di applicazioni web UI lato client, basate su [[https://docs.microsoft.com/it-it/dotnet/core/introduction|.NET]] e sul linguaggio di programmazione [[https://wiki.ubuntu-it.org/Programmazione/CSharp|C#]] anziché su '''!JavaScript'''. | '''Blazor !WebAssembly''' è un framework '''SPA''' (Single Page Application) open source sviluppato da Microsoft per la creazione di applicazioni web UI lato client, basate su '''[[https://docs.microsoft.com/it-it/dotnet/core/introduction|.NET]]''' e sul linguaggio di programmazione '''[[https://wiki.ubuntu-it.org/Programmazione/CSharp|C#]]''' anziché su '''!JavaScript'''. |
Linea 12: | Linea 11: |
{{{#!wiki note Per creare applicazioni lato server esistono '''Blazor Server''' e '''Blazor Hybrid''' ma queste tecnologie non vengono trattate in questa guida. |
{{{#!wiki tip Per creare applicazioni lato server sono invece disponibili '''Blazor Server''' e '''Blazor Hybrid'''. |
Linea 16: | Linea 15: |
= Vantaggi = | == Vantaggi == |
Linea 18: | Linea 17: |
* 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 eseguito direttamente nel browser (non sono richiesti plug-in). * Funziona con tutti i moderni browser web (compreso quelli in ambito ''mobile''). |
Linea 22: | Linea 20: |
* 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. | * Richiede una conoscenza di base (o pressoché nulla) di '''!JavaScript''' per costruire un sito, quindi è ideale per chi sviluppa applicazioni desktop in '''C#''' e vuole dedicarsi allo sviluppo web. |
Linea 27: | Linea 25: |
= Svantaggi = | == Svantaggi == |
Linea 29: | Linea 27: |
* 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. | * Il download di un'applicazione di grandi dimensioni in un browser può richiede diverso tempo, poiché il runtime '''.NET''' e gli assembly vengono scaricati e memorizzati nella cache del browser. Ciò può influire sull'esperienza dell'utente. |
Linea 33: | Linea 31: |
Questo progetto sarà realizzato con [[https://wiki.ubuntu-it.org/Ufficio/EditorDiTesto/VisualStudioCode|VisualStudioCode]]. | Il seguente progetto sarà realizzato con [[Ufficio/EditorDiTesto/VisualStudioCode|VisualStudioCode]]. |
Linea 37: | Linea 35: |
* È 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. * per sviluppare in '''C#''' in '''!VisualStudioCode''', deve essere installata l'estensione '''[[https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp|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 [[https://code.visualstudio.com/docs/editor/extension-gallery|questa guida]].. |
* È richiesta la conoscenza di base del linguaggio di programmazione '''C#''' e dei concetti relativi alle web app. * Deve essere installato '''.NET [[https://it.wikipedia.org/wiki/Software_development_kit|SDK]]'''. Consultare [[Programmazione/CSharp|questa guida]] per installare l'SDK. * Per sviluppare in '''C#''' in '''!VisualStudioCode''' deve essere installata l'estensione '''[[https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp|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 [[https://code.visualstudio.com/docs/editor/extension-gallery|questa guida]]. |
Linea 48: | Linea 44: |
0. Aprire il terminale integrato da '''!VisualStudioCode''' selezionando '''''Visualizza → Terminale''''' dal menu principale e eseguire il seguente comando: {{{ | 0. Aprire il terminale integrato da '''!VisualStudioCode''' selezionando '''''Visualizza → Terminale''''' dal menu principale ed eseguire il seguente comando: {{{ |
Linea 55: | Linea 51: |
Nel terminale vengono visualizzate le seguenti righe: {{{ | Nel terminale verranno visualizzate le seguenti righe:{{{ |
Linea 63: | Linea 59: |
0. Fare '''''Ctrl + Clic''''' sul link [[http://localhost:5214]]. La pagina web, che contiene il testo `Hello World!` viene aperta nel browser. <<BR>>{{{#!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. |
0. Fare clic sul link [[http://localhost:5214]] tenendo premuto '''Ctrl'''. La pagina web, che contiene il testo `Hello World!` verrà aperta nel browser predefinito. {{{#!wiki note Se si fa clic sul collegamento il browser potrebbe avvertire che il sito non è sicuro, poiché non usa il protocollo [[https://it.wikipedia.org/wiki/HTTPS|HTTPS]]; tuttavia è possibile continuare senza rischi. |
Linea 68: | Linea 63: |
<<BR>>{{{#!wiki tip Invece del comando `dotnet run` si può usare `dotnet watch` che, tra le altre cose, lancerà direttamente il link https. |
{{{#!wiki tip In alternativa al comando `dotnet run` si può usare `dotnet watch` che, tra le altre cose, lancerà direttamente il link con HTTPS. |
Linea 71: | Linea 66: |
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. |
Nella barra laterale sinistra si possono consultare altre due pagine: `Counter` e `Fetch data` (per maggiori informazioni su `Counter` consultare questo [[#CounterCode|paragrafo]]). 0. Premere i tasti '''Ctrl + C''' per terminare. |
Linea 76: | Linea 71: |
Selezionare il pulsante "'''Click me'''" per incrementare il conteggio senza aggiornare la pagina.<<BR>> | Selezionare il pulsante '''Click me''' per incrementare il conteggio senza aggiornare la pagina.<<BR>> |
Linea 98: | Linea 93: |
Il codice mischia '''HTML''' e '''C#'''. Tutto il codice '''C#''' si trova nella direttiva `@code`. Si accede alla variabile `currentCount` nella pagina usando `@currentCount`. | Il codice cobina '''HTML''' e '''C#'''. Tutto il codice in '''C#''' si trova nella direttiva `@code`. Si accede alla variabile `currentCount` nella pagina usando `@currentCount`. |
Linea 102: | Linea 97: |
Ogni volta che si seleziona il pulsante "'''Click me'''": * L'evento `onclick` viene attivato. |
Ogni volta che si seleziona il pulsante '''Click me''': * Viene attivato l'evento `onclick`. |
Linea 105: | Linea 100: |
* `currentCount` viene incrementato. * Il componente viene reso per mostrare il conteggio aggiornato. |
* Viene incrementato `currentCount`. * Il componente viene predisposto per mostrare il conteggio aggiornato. |
Linea 112: | Linea 107: |
* [[https://github.com/AdrienTorris/awesome-blazor|Awesome Blazor]] (una raccolta di fantastiche risorse Blazor) | * [[https://github.com/AdrienTorris/awesome-blazor|Awesome Blazor]] (utile raccolta di risorse per Blazor) |
Linea 115: | Linea 110: |
CategoryNuoviDocumenti | CategoryProgrammazione |
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 sono invece disponibili Blazor Server e Blazor Hybrid.
Vantaggi
- Può essere eseguito direttamente nel browser (non sono richiesti plug-in).
Funziona con tutti i moderni browser web (compreso quelli in ambito mobile).
Può essere distribuito su un server di pagine statiche (ad esempio Github Pages o Surge).
Richiede una conoscenza di base (o pressoché nulla) di JavaScript per costruire un sito, 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 può richiede diverso tempo, poiché il runtime .NET e gli assembly vengono scaricati e memorizzati nella cache del browser. Ciò può influire sull'esperienza dell'utente.
Creazione di un'applicazione Blazor WebAssembly
Il seguente progetto sarà realizzato con VisualStudioCode.
Prerequisiti:
È richiesta la conoscenza di base del linguaggio di programmazione C# e dei concetti relativi alle web app.
Deve essere installato .NET SDK. 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:
Selezionare dal menù principale File → Apri cartella.
Nella finestra di dialogo Apri cartella creare una cartella TestBlazorApp e selezionarla.
Fare quindi clic su Aprire. Per impostazione predefinita il nome della cartella diventerà il nome e il namespace del progetto.
Aprire il terminale integrato da VisualStudioCode selezionando Visualizza → Terminale dal menu principale ed 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.
Per avviare l'applicazione, eseguire il seguente comando:
dotnet run
Nel terminale verranno visualizzate le seguenti righe:
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.
Fare clic sul link http://localhost:5214 tenendo premuto Ctrl. La pagina web, che contiene il testo Hello World! verrà aperta nel browser predefinito.
Se si fa clic sul collegamento il browser potrebbe avvertire che il sito non è sicuro, poiché non usa il protocollo HTTPS; tuttavia è possibile continuare senza rischi.
In alternativa al comando dotnet run si può usare dotnet watch che, tra le altre cose, lancerà direttamente il link con HTTPS.
Nella barra laterale sinistra si possono consultare altre due pagine: Counter e Fetch data (per maggiori informazioni su Counter consultare questo paragrafo).
Premere i tasti Ctrl + C per terminare.
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 cobina HTML e C#. Tutto il codice in 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:
Viene attivato l'evento onclick.
Viene richiamato il metodo IncrementCount.
Viene incrementato currentCount.
- Il componente viene predisposto per mostrare il conteggio aggiornato.
Ulteriori risorse
Sito ufficiale (in inglese)
Awesome Blazor (utile raccolta di risorse per Blazor)