Dal RenderFragment ai Generics, tips for Blazor developersAndrea Dottor
Sessione tenuta alla Blazor Conference 2021 del 13.04.2021.
(https://www.aspitalia.com/eventi/87/Blazor-Conference-2021-Online.aspx)
Una sessione dove verranno presentati una serie di tips per migliorare e facilitare la scrittura delle nostre applicazioni: da codice html dinamico, al miglioramento ed organizzazione dello stesso. Il tutto per poter sfruttare ogni bit che Blazor può dare. Dal RenderFragment ai Generics. Consigli che arrivano da esperienze reali
Codice: https://github.com/andreadottor/XE.Dottor.Demo.BlazorWebApp
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
Cerchiamo di capire cosa vuol dire creare delle API pubbliche. Cerchiamo di capire cosa offre ad oggi ASP.NET, e come utilizzare al meglio la tecnologia. L'intenzione è di andare in dettaglio su problematiche spesso sottovalutate: serve sempre ASP.NET Web API? E' meglio WCF? Quali problematiche possono capitare? Come faccio il versionamento? Quali oggetti/classi espongo? E la documentazione?
In ASP.NET Core 3.0 è stato introdotto il supporto a gRPC, una framework altamente performante per fare Remote Procedure Call (RPC). Leggero e molto efficiente, supportato da molti linguaggi, supporto ad una comunicazione bidirezionale, riduzione del consumo di banda...solo questi solo alcuni dei vantaggi che descrivono gRPC, e che durante la sessione cercheremo di capire se siano reali o meno.
Fatto sta che è una tecnologia assolutamente da conoscere e sfruttare nello sviluppo di app moderno, e non solamente in ambito web.
Codice: https://github.com/andreadottor/XE.Dottor.gRPC
Evento: https://www.xedotnet.org/eventi/grpc-and-c-optimising-night/
In questa sessione vedremo come uno sviluppatore WebForm possa essere velocemente produttivo (utilizzando le ultime versioni di ASP.NET Core) grazie a Blazor. Vedremo quindi cosa differenza un'applicazione ASP.NET Core, rispetto a quelle WebForm (.NET Framework) fino ad arrivare a comprendere perchè e come Blazor possa agevolare questa transizione.
Quindi una sessione non solo per chi è nuovo a Blazor, ma anche perchì ancora non ha migrato ad ASP.NET Core.
Dal RenderFragment ai Generics, tips for Blazor developersAndrea Dottor
Sessione tenuta alla Blazor Conference 2021 del 13.04.2021.
(https://www.aspitalia.com/eventi/87/Blazor-Conference-2021-Online.aspx)
Una sessione dove verranno presentati una serie di tips per migliorare e facilitare la scrittura delle nostre applicazioni: da codice html dinamico, al miglioramento ed organizzazione dello stesso. Il tutto per poter sfruttare ogni bit che Blazor può dare. Dal RenderFragment ai Generics. Consigli che arrivano da esperienze reali
Codice: https://github.com/andreadottor/XE.Dottor.Demo.BlazorWebApp
Creare API pubbliche, come evitare gli errori comuniAndrea Dottor
Cerchiamo di capire cosa vuol dire creare delle API pubbliche. Cerchiamo di capire cosa offre ad oggi ASP.NET, e come utilizzare al meglio la tecnologia. L'intenzione è di andare in dettaglio su problematiche spesso sottovalutate: serve sempre ASP.NET Web API? E' meglio WCF? Quali problematiche possono capitare? Come faccio il versionamento? Quali oggetti/classi espongo? E la documentazione?
In ASP.NET Core 3.0 è stato introdotto il supporto a gRPC, una framework altamente performante per fare Remote Procedure Call (RPC). Leggero e molto efficiente, supportato da molti linguaggi, supporto ad una comunicazione bidirezionale, riduzione del consumo di banda...solo questi solo alcuni dei vantaggi che descrivono gRPC, e che durante la sessione cercheremo di capire se siano reali o meno.
Fatto sta che è una tecnologia assolutamente da conoscere e sfruttare nello sviluppo di app moderno, e non solamente in ambito web.
Codice: https://github.com/andreadottor/XE.Dottor.gRPC
Evento: https://www.xedotnet.org/eventi/grpc-and-c-optimising-night/
In questa sessione vedremo come uno sviluppatore WebForm possa essere velocemente produttivo (utilizzando le ultime versioni di ASP.NET Core) grazie a Blazor. Vedremo quindi cosa differenza un'applicazione ASP.NET Core, rispetto a quelle WebForm (.NET Framework) fino ad arrivare a comprendere perchè e come Blazor possa agevolare questa transizione.
Quindi una sessione non solo per chi è nuovo a Blazor, ma anche perchì ancora non ha migrato ad ASP.NET Core.
ASP.NET Core 2.0 è stato ufficialmente rilasciato e porta con se parecchie novità come le Razor Pages, template aggiornati e l'integrazione con Application Insights migliorata. In questa cercheremo capiremo la vera maturità di questo framework, e quanto questo rilascio sia importante per noi dev.
Verrà illustrato un caso pratico di modifica di un sito web, su tecnologia ASP.NET 1.1, completo ma non accessibile: obiettivo del tutorial è quello di ottenere in tempi brevi una versione accessibile dello stesso sito.
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
Molte applicazione sono (ancora) sviluppate in WebForm e non possono essere convertite automaticamente ad ASP.NET Core. Una riscrittura completa in molti casi è impossibile o impensabile da attuare. In questa sessione vedremo come migrare in modo graduale queste tipologie di applicazioni verso ASP.NET Core, andando in dettaglio nelle varie problematiche che solitamente si possono presentare. La sessione deriva da un'esperienza reale, che ha permesso di conoscere (nel bene o nel male) le difficoltà che si nascondo in queste migrazioni.
Evento: https://www.xedotnet.org/eventi/one-day-enterprise-application/
Actions on Google e Alexa skills per .NET loversLorenzo Giudici
Evento #Aperitech 05/11/2019 organizzato da Codemotion.
Ospite: la community di Milano Chatbots con 5 talk per illustrare lo stato dell'arte dei chatbot e dei voicebot.
1° Talk tecnico:
"Google Home", "Alexa", "Skills", "Smart speaker"… ne sentiremo parlare (tanto) anche nel 2020 e noi sviluppatori .NET possiamo cavalcare l'onda perchè abbiamo tutti gli strumenti e le competenze necessarie.
VIDEO: https://youtu.be/tboHO_mj2uM
ASP.NET MVC è una piattaforma aperta costruita come un puzzle di componenti. Per personalizzare il comportamento dei componenti interni del sistema è quindi sufficiente rimuovere uno dei tasselli e sostituirlo con uno scritto da noi. Un'operazione resa semplice ed immediata dall'interfaccia Dependency Resolver.
OVERVIEW: Java secondo Microsoft
STRUMENTI:Java nel cloud
MODALITA’: Il Development life cycle secondo Microsoft
APPROCCIO: Stack cloud native basato su JAVA ed Azure
CAMBIAMENTO: Know how necessario per lo sviluppo su AZURE con Java
OPPORTUNITA: Use case di implementazione «first approach»
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
ASP.NET Core 2.0 è stato ufficialmente rilasciato e porta con se parecchie novità come le Razor Pages, template aggiornati e l'integrazione con Application Insights migliorata. In questa cercheremo capiremo la vera maturità di questo framework, e quanto questo rilascio sia importante per noi dev.
Verrà illustrato un caso pratico di modifica di un sito web, su tecnologia ASP.NET 1.1, completo ma non accessibile: obiettivo del tutorial è quello di ottenere in tempi brevi una versione accessibile dello stesso sito.
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
Molte applicazione sono (ancora) sviluppate in WebForm e non possono essere convertite automaticamente ad ASP.NET Core. Una riscrittura completa in molti casi è impossibile o impensabile da attuare. In questa sessione vedremo come migrare in modo graduale queste tipologie di applicazioni verso ASP.NET Core, andando in dettaglio nelle varie problematiche che solitamente si possono presentare. La sessione deriva da un'esperienza reale, che ha permesso di conoscere (nel bene o nel male) le difficoltà che si nascondo in queste migrazioni.
Evento: https://www.xedotnet.org/eventi/one-day-enterprise-application/
Actions on Google e Alexa skills per .NET loversLorenzo Giudici
Evento #Aperitech 05/11/2019 organizzato da Codemotion.
Ospite: la community di Milano Chatbots con 5 talk per illustrare lo stato dell'arte dei chatbot e dei voicebot.
1° Talk tecnico:
"Google Home", "Alexa", "Skills", "Smart speaker"… ne sentiremo parlare (tanto) anche nel 2020 e noi sviluppatori .NET possiamo cavalcare l'onda perchè abbiamo tutti gli strumenti e le competenze necessarie.
VIDEO: https://youtu.be/tboHO_mj2uM
ASP.NET MVC è una piattaforma aperta costruita come un puzzle di componenti. Per personalizzare il comportamento dei componenti interni del sistema è quindi sufficiente rimuovere uno dei tasselli e sostituirlo con uno scritto da noi. Un'operazione resa semplice ed immediata dall'interfaccia Dependency Resolver.
OVERVIEW: Java secondo Microsoft
STRUMENTI:Java nel cloud
MODALITA’: Il Development life cycle secondo Microsoft
APPROCCIO: Stack cloud native basato su JAVA ed Azure
CAMBIAMENTO: Know how necessario per lo sviluppo su AZURE con Java
OPPORTUNITA: Use case di implementazione «first approach»
HTML5 Single Page Application è il nuovo hype tecnologico: tutti ne parlano, il web ne è pervaso, da GMail a Facebook e Twitter, dal desktop al mobile, dagli Appennini alle Ande.
In questa sessione ci occuperemo di tutti quegli aspetti di organizzazione di una solution in termini di codebase, unit testing e processo di build, presentando alcuni strumenti che stanno emergendo fra quelli disponibili.
Demo: http://www.communitydays.it/events/2014-Roma/web02/
In this meeting we will face a very known but often overlooked aspect, namely the use of HTTPS. Many developers still think that the use of HTTPS is reserved for important sites and that for simpler things, such as a site consisting of a few static pages, it's not worth it. We will first try to dispel this myth, showing how much damage can be done using the HTTP pages of a simple static site, and then we will show how it is possible to use the free SSL certificates of Let's Encrypt to create HTTPS services without spending a fortune.
Introduction to Blazor and WebAssembly in Christmas sauce. In this session we will see how to create a small demonstration application to send Christmas greetings.
6. Servizi REST
Il Client
• Usa i metodi HTTP per identificare l’azione (Get/Post/Put/Delete).
• Usa l’URL per identificare la risorsa e passare eventuali parametri.
• Usa il body per i dati inviati o ricevuti, di solito in XML o JSON.
Il Servizio
• Espone un insieme di azioni richiamabili dal client, ciascuna con i
parametri e dati del body richiesti ed opzionali, chiamato API
(Application Program Interface) del servizio.
14. •E’ una specifica Open Source.
•E’ lo standard di fatto per la descrizione delle
RESTful API.
•Usa un linguaggio JSON like per descrivere le
azioni, i parametri e la struttura dei dati
dell’API.
Swagger
15. I Tool di Swagger
L’utilità di Swagger risiede nei tool che usano la sua sintassi,
come ad esempio:
Swashbuckle
• Produce il documento Swagger di una WebAPI ASP.NET
Swagger.UI
• Genera, a partire da un documento Swagger, un set di pagine html
di documentazione delle API.
16. Swashbuckle
• Fornito tramite NuGet Package.
• Genera automaticamente il documento Swagger.
• Contiene al suo interno Swagger.UI.
• Genera lo schema dei dati direttamente dal codice.
21. File di configurazione
• Consente la personalizzazione della
documentazione Swagger generata e della
Swagger UI.
• Utilizza e include automaticamente i commenti
Xml del codice.
• Supporta la descrizione degli schemi ApiKey,
Basic Auth and OAuth2.
22. Includere la documentazione XML del codice
1. Abilitare la generazione della documentazione XML
2. Abilitare l’uso della documentazione XML in Swagger UI:
28. Tutte le operazioni eseguibili in Azure
sono esposte tramite REST API.
Microsoft usa Swagger per generare
in automatico gli SDK di Azure.
Azure SDK
Swagger UI è un insieme di template HTML, codice Javascript e CSS che generano dinamicamente una documentazione dell’API fruibile da Web a partire da un documento Swagger.