ݺߣ

ݺߣShare a Scribd company logo
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Blazor: I limiti sono fatti
per essere superati!
Michele Aponte
CEO/CTO @ Blexin
Founder @ Blazor Developer Italiani
michele.aponte@blexin.com - @apomic80
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+
https://...
JS
Che cos’è Blazor
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Che cos’è Blazor
https://...
DOM
Razor Components
.NET
WebAssembly
https...
DOM
.NET Core
SignalR
Blazor WebAssembly Blazor Server
Razor Components
.NET
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+WebAssembly nel browser
Browser
Browser API
(WebSocket,
DOM, File API,
Web Storage, ecc…)
JavaScript Runtime
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Che cos’è Blazor
https://...
DOM
Razor Components
.NET
WebAssembly
Blazor WebAssembly
dotnet.wasm
compilazione esecuzione
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Che cos’è Blazor
https://...
DOM
Razor Components
.NET
WebAssembly
https...
DOM
.NET Core
SignalR
Blazor WebAssembly Blazor Server
Razor Components
.NET
.NET Core 3.0Maggio 2020
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Cosa serve per cominciare
https://dotnet.microsoft.com/download/dotnet-core
L’ultima versione di .NET Core
https://code.visualstudio.com/
Visual Studio Code
https://visualstudio.microsoft.com/it/vs/community/
Visual Studio 2019 Community
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.2.0-preview4.20210.8
L’ultima versione dei template Blazor
https://visualstudio.microsoft.com/it/vs/mac/
Visual Studio for Mac
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Creare un Single Page Application
- Tutta l’applicazione
viene costruita
dinamicamente a
partire da un’unica
pagina
- La navigazione
viene gestita da un
apposito
componente
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Blazor Components
I singoli elementi
della pagina sono dei
componenti:
- formano un albero
di componenti
- della giusta
dimensione (SoC)
- riutilizzabili e NON
accoppiati
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Blazor Components
- Tecnicamente sono
dei file .razor che
contengono
Markup e codice
- Il nome del file
coincide con il TAG
del componente
NavMenu.razor
<NavMenu />
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Blazor Pages
- Una pagina è un
componente che
definisce una
destinazione per
una rotta
- Contiene la
direttiva @page
@page "/eventi"
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Gestione della navigazione: Routing
@Body
<Router></Router>
- Tutte le richieste di
navigazione
vengono gestite
dal componente
Router
- Ogni volta che
viene richiesta una
pagina il router la
renderizza nel
@Body
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Integrazione con il back-end
https...
DOM
.NET Core
SignalR
Razor Components
.NET
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Integrazione con il back-end
https://...
DOM
Razor Components
.NET
WebAssembly
HTTP Client
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Blazor Server vs Blazor WebAssembly
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Gestione delle Form in Blazor
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Gestione delle Form in Blazor
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Gestione delle Form in Blazor
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Integrazione con JavaScript
Browser
Browser API
(WebSocket,
DOM, File API,
Web Storage, ecc…)
JavaScript Runtime
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+/+Blazor Roadmap
Blazor Server
Web app
Tutte le interazioni vengono gestite sul server
HTML Prerenderizzato
Blazor WebAssembly
Web app con esecuzione sul client
Caricata dal web server
Può funzionare offline con i Service Worker
Blazor PWA – OS installed Si presenta come una app nativa (con una finestra propria)
Funziona sia offline che online
Blazor Hybrid
Utilizza Electron / WebView con un rendering nativo .NET
Si presenta come una app nativa (con una finestra propria)
Funziona sia offline che online
Web
Desktop
+ Mobile
Blazor Native
Stesso modello di programmazione, ma con un
rendering della UI non HTML
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Un po’ di link utili
• Blazor: https://blazor.net
• Docs: https://blazor.net/docs
• .NET Core 3.1: https://dot.net/get-core3
• Visual Studio: https://visualstudio.com/
• Workshop: https://aka.ms/blazorworkshop
• Community: https://aka.ms/awesomeblazor
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Seguite la community!
https://twitter.com/blazordevita
https://fb.me/blazordeveloperitalianihttps://github.com/blazordevita
https://blazordev.it/
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Partecipate alle discussioni
https://fb.me/groups/998755440506950/
https://www.linkedin.com/groups/8896269/
https://github.com/blazordevita
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Domande? Dubbi? Perplessità?
Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it
+ +/
Alla prossima!

More Related Content

What's hot (19)

Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
Andrea Dottor
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
Andrea Dottor
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
DotNetMarche
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
Andrea Dottor
Spa with Blazor
Spa with BlazorSpa with Blazor
Spa with Blazor
Nicolò Carandini
Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?
Flavius-Florin Harabor
Esempi pratici
Esempi praticiEsempi pratici
Esempi pratici
DotNetMarche
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
Andrea Dottor
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
Andrea Dottor
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
Andrea Dottor
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte
Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0Alessandro Forte - ASP.Net 4.0
Alessandro Forte - ASP.Net 4.0
Alessandro Forte
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
Andrea Dottor
Windows Azure and Joomla! @ Joomla day 2013
Windows Azure and Joomla! @ Joomla day 2013Windows Azure and Joomla! @ Joomla day 2013
Windows Azure and Joomla! @ Joomla day 2013
Vito Flavio Lorusso
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
Francesco Sciuti
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
Nicolò Carandini
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerceWPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
Francesco Terenzani
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
Gianfranco Castro
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
Andrea Dottor
Creare API pubbliche, come evitare gli errori comuni
 Creare API pubbliche, come evitare gli errori comuni Creare API pubbliche, come evitare gli errori comuni
Creare API pubbliche, come evitare gli errori comuni
Andrea Dottor
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
DotNetMarche
ASP.NET Core - Razor Pages
ASP.NET Core - Razor PagesASP.NET Core - Razor Pages
ASP.NET Core - Razor Pages
Andrea Dottor
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
Andrea Dottor
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
Andrea Dottor
Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0Cosa c'è di nuovo in asp.net core 2 0
Cosa c'è di nuovo in asp.net core 2 0
Andrea Dottor
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.NetAlessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte - Realizzare controlli Ajax in ASP.Net
Alessandro Forte
Windows Azure and Joomla! @ Joomla day 2013
Windows Azure and Joomla! @ Joomla day 2013Windows Azure and Joomla! @ Joomla day 2013
Windows Azure and Joomla! @ Joomla day 2013
Vito Flavio Lorusso
Christmas greetings cards with blazor
Christmas greetings cards with blazorChristmas greetings cards with blazor
Christmas greetings cards with blazor
Nicolò Carandini
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerceWPO: Ottimizzazione step-by-step del front-end di un e-commerce
WPO: Ottimizzazione step-by-step del front-end di un e-commerce
Francesco Terenzani

Similar to Blazor - i limiti sono fatti per essere superati (20)

Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer Tool
Codemotion
Seo html russo
Seo html russoSeo html russo
Seo html russo
Matteo Russo
Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015
Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015
Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015
Enthous Agenzia Web
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Java
marcocasario
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
Commit University
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire![IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
Federico Sasso
Convegno gt 2006: Presentazione e Wordpress
Convegno gt 2006: Presentazione e WordpressConvegno gt 2006: Presentazione e Wordpress
Convegno gt 2006: Presentazione e Wordpress
convegnogt
Cosa non fare assolutamente sul cloud!
Cosa non fare assolutamente sul cloud! Cosa non fare assolutamente sul cloud!
Cosa non fare assolutamente sul cloud!
Ninja Marketing
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chrome
Marco Vito Moscaritolo
La rivoluzione blazor
La rivoluzione blazorLa rivoluzione blazor
La rivoluzione blazor
Michele Aponte
Seo Audit Demo
Seo Audit DemoSeo Audit Demo
Seo Audit Demo
Giovanni Sacheli
OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!
Alex Comba
05 OCA, da Oggi Contribuisco Anch'io!
05 OCA, da Oggi Contribuisco Anch'io!05 OCA, da Oggi Contribuisco Anch'io!
05 OCA, da Oggi Contribuisco Anch'io!
Associazione Odoo Italia
Ottimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricercaOttimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricerca
Tiziano Fogliata
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
marcocasario
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
Stefano Iaboni
Blazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo GrecoBlazor with .net 5 - di Gerardo Greco
Blazor with .net 5 - di Gerardo Greco
Giuneco S.r.l
Tech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer ToolTech Webinar: Firefox Developer Tool
Tech Webinar: Firefox Developer Tool
Codemotion
Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015
Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015
Joomla e SEO accoppiata perfetta: intervento di Stefano Rigazio al Seocamp 2015
Enthous Agenzia Web
Rich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e JavaRich Internet Application con Flex, AIR e Java
Rich Internet Application con Flex, AIR e Java
marcocasario
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
Commit University
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire![IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
[IT] CMS Proprietari creati da teaminterni: le best practices da seguire!
Federico Sasso
Convegno gt 2006: Presentazione e Wordpress
Convegno gt 2006: Presentazione e WordpressConvegno gt 2006: Presentazione e Wordpress
Convegno gt 2006: Presentazione e Wordpress
convegnogt
Cosa non fare assolutamente sul cloud!
Cosa non fare assolutamente sul cloud! Cosa non fare assolutamente sul cloud!
Cosa non fare assolutamente sul cloud!
Ninja Marketing
OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!
Alex Comba
Ottimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricercaOttimizzare WordPress non solo per i motori di ricerca
Ottimizzare WordPress non solo per i motori di ricerca
Tiziano Fogliata
Applicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore RomeoApplicazioni HTML5 Superveloci - Salvatore Romeo
Applicazioni HTML5 Superveloci - Salvatore Romeo
marcocasario

More from Commit University (20)

Contract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdfContract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdf
Commit University
Cybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e SperanzeCybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e Speranze
Commit University
Migliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud NativeMigliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud Native
Commit University
Scopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAGScopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAG
Commit University
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Commit University
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdfOltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Commit University
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Commit University
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdf
Commit University
ݺߣ-10years.pdf
ݺߣ-10years.pdfݺߣ-10years.pdf
ݺߣ-10years.pdf
Commit University
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Commit University
Vue.js slots.pdf
Vue.js slots.pdfVue.js slots.pdf
Vue.js slots.pdf
Commit University
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
Commit University
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
Commit University
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
Commit University
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
Commit University
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Commit University
Contract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdfContract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdf
Commit University
Cybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e SperanzeCybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e Speranze
Commit University
Migliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud NativeMigliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud Native
Commit University
Scopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAGScopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAG
Commit University
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Commit University
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdfOltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Commit University
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Commit University
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-ݺߣ.pdf
Commit University
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Commit University
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
Commit University
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
Commit University
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
Commit University
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
Commit University
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Commit University

Blazor - i limiti sono fatti per essere superati

  • 1. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Blazor: I limiti sono fatti per essere superati! Michele Aponte CEO/CTO @ Blexin Founder @ Blazor Developer Italiani michele.aponte@blexin.com - @apomic80
  • 2. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+ https://... JS Che cos’è Blazor
  • 3. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Che cos’è Blazor https://... DOM Razor Components .NET WebAssembly https... DOM .NET Core SignalR Blazor WebAssembly Blazor Server Razor Components .NET
  • 4. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+WebAssembly nel browser Browser Browser API (WebSocket, DOM, File API, Web Storage, ecc…) JavaScript Runtime
  • 5. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Che cos’è Blazor https://... DOM Razor Components .NET WebAssembly Blazor WebAssembly dotnet.wasm compilazione esecuzione
  • 6. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Che cos’è Blazor https://... DOM Razor Components .NET WebAssembly https... DOM .NET Core SignalR Blazor WebAssembly Blazor Server Razor Components .NET .NET Core 3.0Maggio 2020
  • 7. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Cosa serve per cominciare https://dotnet.microsoft.com/download/dotnet-core L’ultima versione di .NET Core https://code.visualstudio.com/ Visual Studio Code https://visualstudio.microsoft.com/it/vs/community/ Visual Studio 2019 Community dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.2.0-preview4.20210.8 L’ultima versione dei template Blazor https://visualstudio.microsoft.com/it/vs/mac/ Visual Studio for Mac
  • 8. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Creare un Single Page Application - Tutta l’applicazione viene costruita dinamicamente a partire da un’unica pagina - La navigazione viene gestita da un apposito componente
  • 9. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Blazor Components I singoli elementi della pagina sono dei componenti: - formano un albero di componenti - della giusta dimensione (SoC) - riutilizzabili e NON accoppiati
  • 10. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Blazor Components - Tecnicamente sono dei file .razor che contengono Markup e codice - Il nome del file coincide con il TAG del componente NavMenu.razor <NavMenu />
  • 11. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Blazor Pages - Una pagina è un componente che definisce una destinazione per una rotta - Contiene la direttiva @page @page "/eventi"
  • 12. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Gestione della navigazione: Routing @Body <Router></Router> - Tutte le richieste di navigazione vengono gestite dal componente Router - Ogni volta che viene richiesta una pagina il router la renderizza nel @Body
  • 13. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Integrazione con il back-end https... DOM .NET Core SignalR Razor Components .NET
  • 14. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Integrazione con il back-end https://... DOM Razor Components .NET WebAssembly HTTP Client
  • 15. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Blazor Server vs Blazor WebAssembly
  • 16. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Gestione delle Form in Blazor
  • 17. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Gestione delle Form in Blazor
  • 18. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Gestione delle Form in Blazor
  • 19. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Integrazione con JavaScript Browser Browser API (WebSocket, DOM, File API, Web Storage, ecc…) JavaScript Runtime
  • 20. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it +/+Blazor Roadmap Blazor Server Web app Tutte le interazioni vengono gestite sul server HTML Prerenderizzato Blazor WebAssembly Web app con esecuzione sul client Caricata dal web server Può funzionare offline con i Service Worker Blazor PWA – OS installed Si presenta come una app nativa (con una finestra propria) Funziona sia offline che online Blazor Hybrid Utilizza Electron / WebView con un rendering nativo .NET Si presenta come una app nativa (con una finestra propria) Funziona sia offline che online Web Desktop + Mobile Blazor Native Stesso modello di programmazione, ma con un rendering della UI non HTML
  • 21. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Un po’ di link utili • Blazor: https://blazor.net • Docs: https://blazor.net/docs • .NET Core 3.1: https://dot.net/get-core3 • Visual Studio: https://visualstudio.com/ • Workshop: https://aka.ms/blazorworkshop • Community: https://aka.ms/awesomeblazor
  • 22. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Seguite la community! https://twitter.com/blazordevita https://fb.me/blazordeveloperitalianihttps://github.com/blazordevita https://blazordev.it/
  • 23. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Partecipate alle discussioni https://fb.me/groups/998755440506950/ https://www.linkedin.com/groups/8896269/ https://github.com/blazordevita
  • 24. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Domande? Dubbi? Perplessità?
  • 25. Blazor Developer Italiani blazordevita fb.me/blazordeveloperitalianiblazordevitablazordev.it + +/ Alla prossima!