Alessandro Forte e Michele Aponte, co-fondatori di DotNetCampania, intervengono sul confronto tra i due pattern MVP e MVC per lo sviluppo di applicazioni Web.
In questa sessione faremo una panoramica a 360 gradi su Blazor, la nuovissima tecnologia Microsoft nata da una (geniale :-) idea di Steve Sanderson per lo sviluppo di applicazioni Web client basate su WebAssembly.
Nell'introduzione parlemermo brevemente di WebAssembly, spiegando di cosa si tratta e del perché questa tecnologia abbia tutte le premesse per portare uno dei più grandi "disruptive changes" nel modo di sviluppare applicazioni Web client. Passeremo poi a Blazor esaminandone prima gli aspetti architetturali e procedendo con un behind the scenes per svelare in che modo avviene la "magia" dell'interazione con il browser. Verranno poi presentate le feature che questa tecnologia offre (template project su VS, components, layouts, binding, dependency injection, hosting) sia attraverso slides che, di pari passo, con delle demo di un'applicazione funzionante realizzata in Blazor. Vedremo poi quali sono le problematiche legate a performance, deployment e distribuzione parlando delle possibili future ottimizzazioni. Infine chiuderemo con un confronto tra Blazor e i maggiori framework ora in uso per lo sviluppo di applicazioni Web client (Angular, Vue, Knockout, ecc.) e con alcune considerazioni sull'impatto che Blazor e tecnologie simili potrebbe avere a cascata per lo sviluppo Web futuro, in una sorta di "butterfly effect" nel mondo Web client.
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMCodemotion
"Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM" by Matteo Pagani.
Xamarin è una delle tecnologie più interessanti quando si parla di sviluppo cross-platform, in quanto permette di riutilizzare le proprie conoscenze di C# per realizzare applicazioni con le stesse feature e performance di un'applicazione nativa. Usare Xamarin, però, non significa solamente poter realizzare app Android e iOS in C#, ma anche e soprattutto non dover scrivere e mantenere codebase completamente diverse. In questa sessione vedremo come poter massimizzare il riutilizzo di codice tra le diverse versioni della nostra applicazioni, aiutandoci con il pattern MVVM.
Alessandro Forte e Michele Aponte, co-fondatori di DotNetCampania, intervengono sul confronto tra i due pattern MVP e MVC per lo sviluppo di applicazioni Web.
In questa sessione faremo una panoramica a 360 gradi su Blazor, la nuovissima tecnologia Microsoft nata da una (geniale :-) idea di Steve Sanderson per lo sviluppo di applicazioni Web client basate su WebAssembly.
Nell'introduzione parlemermo brevemente di WebAssembly, spiegando di cosa si tratta e del perché questa tecnologia abbia tutte le premesse per portare uno dei più grandi "disruptive changes" nel modo di sviluppare applicazioni Web client. Passeremo poi a Blazor esaminandone prima gli aspetti architetturali e procedendo con un behind the scenes per svelare in che modo avviene la "magia" dell'interazione con il browser. Verranno poi presentate le feature che questa tecnologia offre (template project su VS, components, layouts, binding, dependency injection, hosting) sia attraverso slides che, di pari passo, con delle demo di un'applicazione funzionante realizzata in Blazor. Vedremo poi quali sono le problematiche legate a performance, deployment e distribuzione parlando delle possibili future ottimizzazioni. Infine chiuderemo con un confronto tra Blazor e i maggiori framework ora in uso per lo sviluppo di applicazioni Web client (Angular, Vue, Knockout, ecc.) e con alcune considerazioni sull'impatto che Blazor e tecnologie simili potrebbe avere a cascata per lo sviluppo Web futuro, in una sorta di "butterfly effect" nel mondo Web client.
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Realizzare applicazioni cross-platform con Xamarin e il pattern MVVMCodemotion
"Realizzare applicazioni cross-platform con Xamarin e il pattern MVVM" by Matteo Pagani.
Xamarin è una delle tecnologie più interessanti quando si parla di sviluppo cross-platform, in quanto permette di riutilizzare le proprie conoscenze di C# per realizzare applicazioni con le stesse feature e performance di un'applicazione nativa. Usare Xamarin, però, non significa solamente poter realizzare app Android e iOS in C#, ma anche e soprattutto non dover scrivere e mantenere codebase completamente diverse. In questa sessione vedremo come poter massimizzare il riutilizzo di codice tra le diverse versioni della nostra applicazioni, aiutandoci con il pattern MVVM.
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.
Visual Studio Online è già molto completo, ma offre interessanti possibilità di integrazione.
Vedremo come estendere Visual Studio Online (ma anche TFS) mediante le sue REST API ed i Service Hooks.
Sessione per NetCampus 2015. La diffusione sempre più ampia di applicazioni sviluppate interamente in HTML5 e JS richiede l'adozione di processi di automazione per la fase di build, testing e rilascio. In questa sessione vedremo quali sono i principali strumenti a nostra disposizione per semplificare queste fasi dello sviluppo.
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.
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
Non stiamo parlando di un ritorno a WebForm ma di un'evoluzione (o meglio) di un'alternativa al pattern MVC. Le Razor Pages possono essere un buon motore per smuovere le migrazioni di vecchie applicazioni, utilizzando un paradigma di pagina (vicino a quello che chi utilizza WebForm già conosce) ma con una visione e pulizia degna delle migliori applicazioni MVC .
Ecco che le Razor Pages si stanno ritagliano il loro spazio, ed in questa sessione cercheremo di affrontare i pro e contro del loro utilizzo, capendone al meglio i casi duso ideali.
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor
Una sessione alla scoperta delle grandi novità che ASP.NET 5 introduce. Questo nuovo aggiornamento del framework non porta solo un'evoluzione alla tecnologia che già conosciamo, ma porta importanti e radicali cambiamenti (una "rivoluzione" di molte cose che già conosciamo e utilizziamo) che dobbiamo essere pronti a sfruttare il prima possibile per dare una marcia in più alle nostre applicazioni. ASP.NET MVC 6, nuovo template di progetto, cross-platform.
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftStefano Benedetti
Il pattern architetturale MVC (Model View Controller) favorisce la manutenzione delle applicazioni web tramite una architettura elegante ed una chiara ed esplicita separazione delle competenze, l'impiego dei più diffusi pattern di software engineering, il controllo completo dell'HTML generato e degli URL, la testabilità ed estendibilità.
In questa sessione vedremo le novità principali di Asp.Net MVC in versione 3.
La sessione è stata tenuta a SMAU Business Bologna il 9 giugno 2011
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.
Visual Studio Online è già molto completo, ma offre interessanti possibilità di integrazione.
Vedremo come estendere Visual Studio Online (ma anche TFS) mediante le sue REST API ed i Service Hooks.
Sessione per NetCampus 2015. La diffusione sempre più ampia di applicazioni sviluppate interamente in HTML5 e JS richiede l'adozione di processi di automazione per la fase di build, testing e rilascio. In questa sessione vedremo quali sono i principali strumenti a nostra disposizione per semplificare queste fasi dello sviluppo.
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.
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
Non stiamo parlando di un ritorno a WebForm ma di un'evoluzione (o meglio) di un'alternativa al pattern MVC. Le Razor Pages possono essere un buon motore per smuovere le migrazioni di vecchie applicazioni, utilizzando un paradigma di pagina (vicino a quello che chi utilizza WebForm già conosce) ma con una visione e pulizia degna delle migliori applicazioni MVC .
Ecco che le Razor Pages si stanno ritagliano il loro spazio, ed in questa sessione cercheremo di affrontare i pro e contro del loro utilizzo, capendone al meglio i casi duso ideali.
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor
Una sessione alla scoperta delle grandi novità che ASP.NET 5 introduce. Questo nuovo aggiornamento del framework non porta solo un'evoluzione alla tecnologia che già conosciamo, ma porta importanti e radicali cambiamenti (una "rivoluzione" di molte cose che già conosciamo e utilizziamo) che dobbiamo essere pronti a sfruttare il prima possibile per dare una marcia in più alle nostre applicazioni. ASP.NET MVC 6, nuovo template di progetto, cross-platform.
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftStefano Benedetti
Il pattern architetturale MVC (Model View Controller) favorisce la manutenzione delle applicazioni web tramite una architettura elegante ed una chiara ed esplicita separazione delle competenze, l'impiego dei più diffusi pattern di software engineering, il controllo completo dell'HTML generato e degli URL, la testabilità ed estendibilità.
In questa sessione vedremo le novità principali di Asp.Net MVC in versione 3.
La sessione è stata tenuta a SMAU Business Bologna il 9 giugno 2011
XeDotNet meeting del 5 Marzo 2013
In questa sessione vedremo come Knockout.js permetta di scrivere codice JavaScript in modo pulito e organizzato, semplificando la scrittura del codice e la sua manutenzione. Come lo si utilizza KO? Quali vantaggi ci offre? Quali librerie ci vengono in aiuto? Quali sarebbe meglio evitare?
Prepariamoci al cambiamento. ASP.NET MVC e ASP.NET Web API saranno unificati in un unico framework chiamato ASP.NET MVC 6, e questo è solo la prima di una serie di novità che stanno per arrivare.
Tutto si semplifica. Le performance migliorano. Un altro salto tecnologico in avanti portato da ASP.NET 5.
In questa sessione, infatti, vedremo tutte le novità che ASP.NET MVC 6 porta con se, e cercheremo di andare in dettaglio in modo da capire cosa voglia dire realizzare (da zero) o migrare (un'applicazione essitente) a questa nuova versione
Webcast - Introduzione a Visual Studio OnlineDavide Benvegnù
Visual Studio Online è uno strumento che fornisce molte funzionalità per l'ALM (Application Lifecycle management) e ad ogni release diventa sempre più completo, funzionale e davvero utile. Si tratta di una piattaforma completa e gratuita di strumenti per lo sviluppo e servizi utili per creare applicazioni multi-piattaforma, progettata per soddisfare i più alti requistiti a livello di disponibilità, scalabilità e complessità di sviluppo.
In questo webcast introduttivo, primo di una serie, vedremo quali sono le caratteristiche di questo strumento, impareremo come utilizzarlo per gestire il lavoro di ogni giorno e prenderemo confidenza con le sue funzionalità. Andremo infine alla scoperta delle nuove feature aggiunte alla suite.
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
Slide e codice lo potete trovare a questo link:
http://blog.dottor.net/post/2012/09/18/Codice-e-slide-della-sessione-Whats-New-in-ASPNET-45-and-Visual-Studio-2012.aspx
Il Microsoft .NET Framework è in continua evoluzione, e con la prossima versione verranno rilasciate interessanti funzionalità riguardanti ASP.NET.All'interno di questa sessione conosceremo tutte queste novità, ed andremo invece più in dettaglio in alcune di esse, permettendo a chi conosce già ASP.NET di poter essere più produttivo (Strongly Typed Data Controls, Model Binding, Asynchronous, WebSocket, ... ), mentre, per chi invece non ha molta esperienza con questa tecnologia, potrà vedere come i nuovi template di progetto e Visual Studio 2012 potranno aiutarlo ad approcciare correttamente queste tipologie di applicazioni.
Grazie a Team Foundation Build è possibile adottare pratiche di integrazione continua nel proprio progetto. In questa presentazione viene introdotta la struttura di tfs build assieme alle tecniche base per effettuare una customizzazione della build.
In questa sessione andremo in dettaglio sul come poter migliorare le nostre applicazioni ASP.NET dal punto delle vista delle performance: Come capire dove interventire? Cosa possiamo migliorare? A cosa dobbiamo prestare attenzione? E nel caso di un'applicazione esistente, dove possiamo intervenire per migliorarla ulteriormente?
Design pattern architetturali Model View Controller, MVP e MVVMRiccardo Cardin
This presentation talks about model view controller, model view presenter and model view viewmodel patterns. These are architectural design patterns for implementing user interfaces. They divide a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. Also, they promote separation of concerns. As examples, some frameworks are reported, such as:
- Spring MVC
- BackboneJS
- AngularJS
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
Similar to ASP.NET MVC 3: se non ora, quando? (20)
Design pattern architetturali Model View Controller, MVP e MVVM
ASP.NET MVC 3: se non ora, quando?
1. ASP.NET MVC 3:Se non ora, quando? Giorgio Di Nardo giorgio.dinardo@domusdotnet.org http://blogs.ugidotnet.org/akelitz @akelitz
2. Agenda Uno sguardo: al passato… (cos’è ASP.NET MVC) 10 min …al presente… (le novità della versione 3) 30 min NuGet Razor Scaffolding DependencyInjection Model Validation … … e al futuro (roadmapdella versione 4) 5 min
3. Cos’è ASP.NET MVC? Un nuovo tipo di progetto disponibile in Visual Studio per applicazioni web L’implementazione Microsoft del pattern architetturale MVC (Model 2) Un’alternativa in più a nostra disposizione Non sostituisce Web Forms Auto o moto? Cambio manuale o automatico? Progettato sulla stessa piattaforma ASP.NET
4. Breve storia di ASP.NET MVC ASP.NET MVC 1.0 Prototype: Feb 2007 CTP: Dic 2007 Beta: Ott 2008 RC: Gen 2009 RTW: Mar 2009 ASP.NET MVC 2 CTP: Lug 2009 Beta: Nov 2009 RC: Dic 2009 RTM: Mar 2010 ASP.NET MVC 3 CTP: Lug 2010 Beta: Ott 2010 RC: Nov 2010 RTM: Gen 2011
5. Cos’è MVC? È un pattern architetturale Punta alla separazione delle responsabilità (SoC) È composto dalla triade Model-View-Controller Model: rappresenta i dati e le regole per manipolarli View: è l’interfaccia utilizzata per presentare tali dati Controller: si occupa di gestire l’interazione tra l’utente e il sistema È stato declinato in diverse varianti tra cui Model2
7. Ciclo di vita di una richiesta in ASP.NET ASP.NETruntime ASP.NETWeb Forms HTTP HandlerASP.pagina_aspx Pagina.aspx HTML ASP.NETMVC HTTP Module URL Routing HTTP Handler MVCHandler View ProdottiController Prodotti/1
9. Pilastri di ASP.NET MVC Separationofconcerns (SoC) Ogni componente ha il suo ruolo preciso Don’t repeatyourself (DRY) Testabile Tutti i componenti sono facilmente mockabili Pieno supporto alla DependencyInjection (DI) Non richiede che l’applicazione giri nel processo ASP.NET Estensibile e flessibile Tutti i componenti sono liberamente sostituibili Convention overconfiguration (CoC)
11. Novità di ASP.NET MVC 3 NuGet Razor DependencyInjection Scaffolding Model Validation HelperMethods UnobtrusiveJavascript JSON Model Binding Granular Input Validation Global Action Filters ViewBag Nuovi Action Result SessionlessControllers Partial Page Output Cache Html.Raw
12. NuGet Aggiungere un riferimento senza NuGet Aggiungere un riferimento con NuGet
14. NuGet Un Package Manager per .NET e Visual Studio Installabiletramite Extension Manager Utilizzabiletramite: GUI Console PowerShell Tool a riga di comando Supportasorgenti multiple (pubbliche e private)
15. Razor Nuovo View Engine con sintassi concisa Risponde all’esigenza di sostituire la sintassi macchinosa del WebForms Evita lo spaghetti-code La chiave è nel carattere @ che consente una transizione rapida da HTML a C#... …e nell’intelligenza del parser nel gestire la transizione inversa
17. Razor Compatto, espressivo, fluido Facile da apprendere Non richiede di impararenuovolinguaggio Utilizzabile con ogni editor di testo Completo supporto Intellisense
18. Scaffolding Generazione automatica di codice MVC Utile per: Studiare un esempio funzionante Avere una base di partenza da sviluppare Utilizzabile in modalità Console o GUI Basato su Template T4 e PowerShell Estensibile e personalizzabile
20. DependencyInjection Consente di risolvere i problemi di dipendenza Concretizzazione del pattern astratto Inversion-of-Control Supporto nativo in MVC tramite IDependencyResolver Consente di incapsulare facilmente uno IoC Container Molte implementazioni sono disponibili su NuGet
22. Model Validation In MVC validare i dati = validare il Model Data Annotation come approccio di base Stile dichiarativo = attributi Non solo validazione ma anche per UI Supporto sia lato-server che lato-client Localizzazione automatica con la possibilità di usare file di risorse
24. Model Validation Quando avviene? In automatico durante il Model Binding A richiesta con il metodo TryUpdateModel Come si verificano i risultati? Proprietà ModelState.IsValid del Controller In automatico tramite HTML helpers Come personalizzare? Definendo nuovi attributi Inserendo la validazione all’interno del Model
27. Novità di ASP.NET MVC 3 HelperMethods UnobtrusiveJavascript JSON Model Binding Granular Input Validation Global Action Filters ViewBag Nuovi Action Result SessionlessControllers Partial Page Output Cache Html.Raw
28. RoadMap di ASP.NET MVC 4 L’obiettivo ambizioso è quello di «rendere MVC 4 la miglior piattaforma per creare rich web applications» Ajax HTML5, Tablet e Mobile Cloud Alcune nuove caratteristiche Recipe Mobile Support Task and Task<T> Support for AsyncControllerClasses …
29. Recipe Dialog box scaricabili via NuGet che automatizzano passo dopo passo la realizzazione di un particolare task (griglie Ajax, autenticazione claim-based con WIF, ecc.)
30.
31. Task and Task<T> Support for AsyncController Classes Supporto alla keyword await per la programmazione asincrona
32. Risorse ASP.NET MVC Home Page: http://www.asp.net/mvc/ Forum: http://forums.asp.net/1146.aspx Codice sorgente: http://aspnet.codeplex.com/ MVC Contrib: http://mvccontrib.codeplex.com/ Blog Scott Guthrie: http://weblogs.asp.net/scottgu/ Phil Haack: http://haacked.com/ Brad Wilson: http://bradwilson.typepad.com/ Scott Hanselman: http://www.hanselman.com/
33. Risorse Libri Programming Microsoft ASP.NET MVC (Microsoft) Professional ASP.NET MVC 3 (Wrox) Pro ASP.NET MVC 3 Framework(Apress)
34. ASP.NET MVC 3:Se non ora, quando? Giorgio Di Nardo giorgio.dinardo@domusdotnet.org http://blogs.ugidotnet.org/akelitz @akelitz