Vedremo come sfruttare le potenzialità di WPF per realizzare applicazioni diverse dalle classiche LOB (Line of Business applications), basandosi su 3D e Natural User Interface.
Cos'è la UI Composition e che problemi può risolvere
Perchè MVVM e WPF sono importanti per la UI Composition
Il concetto di 'region' e 'UI Injection'
Analisi del toolkit PRISM di Microsoft e cosa comporta realizzarsene uno in proprio.
Iter documentale per gli iscritti alla sezione E del RUI (collaborazione con ...Fabrizio Callarà
Iter documentale per gli iscritti alla sezione E del RUI (collaborazione con Agenzie organizzate al Plurimandato Orizzontale) di Rolando Martorelli, Consigliere di Amministrazione delegato alla Formazione ISVAP ed alla "Compliance" di AEC Underwriting Agenzia di Assicurazione e Riassicurazione SpA. Agenzia di sottoscrizione indipendente dedicata al collocamento dei "Rischi Professionali" sul mercato internazionale
Cos'è la UI Composition e che problemi può risolvere
Perchè MVVM e WPF sono importanti per la UI Composition
Il concetto di 'region' e 'UI Injection'
Analisi del toolkit PRISM di Microsoft e cosa comporta realizzarsene uno in proprio.
Iter documentale per gli iscritti alla sezione E del RUI (collaborazione con ...Fabrizio Callarà
Iter documentale per gli iscritti alla sezione E del RUI (collaborazione con Agenzie organizzate al Plurimandato Orizzontale) di Rolando Martorelli, Consigliere di Amministrazione delegato alla Formazione ISVAP ed alla "Compliance" di AEC Underwriting Agenzia di Assicurazione e Riassicurazione SpA. Agenzia di sottoscrizione indipendente dedicata al collocamento dei "Rischi Professionali" sul mercato internazionale
Custom Vision e Win.ml per le nostre app intelligenti offlineAlessio Iafrate
La mia sessione per Azure Day Rome 2019 per mostrare come creare un'applicaizone uwp che utilizza un modello creato con Custom Vision e Win.ml per funzionare offline
FLSS vuole essere un supporto tecnologico alla gestione della vita condivisa, semplice, giocoso e facile da usare, volto a rendere piacevole e formativo quel periodo della vita in cui giovani studenti e lavoratori condividono un appartamento, soprattutto nelle grandi città dove i canoni d'affitto sono molto alti.
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...Ornella Pirone
Cari Creativi
1 dei 3 Workshop previsto per Salerno - Nola - Sorrento - Messina - Catania -Palermo è......
MOVIE DESIGN 3D: effetti animati per Sigle TV, WEB e CINEMA
Leggi i programmi ufficiali nell'Album "Docenti e Programmi"..condividi la Cultura, invita i tuoi amici e crea un WorkshopCreativityGroup per aderire e lanciare il Workshop bastano pochi click...aL raggiungimento di minimo 30 persone!!! La prima tappa è prevista a Salerno, entro il 20 febbraio si chiudono le adesioni...partecipa!
Impaginazione automatica e impaginazione assistita in Adobe InDesignKEA s.r.l.
Quali sono le differenze fra impaginazione automatica e impaginazione assistita, e quando utilizzare i due sistemi nell’ambito della comunicazione tecnica e di prodotto
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...DotNetMarche
Come è nata l'esperienza della community romana di Host e come siamo riusciti ad essere riconosciuti da Airbnb. Cosa stiamo imparando, cosa funziona, gli errori da non fare.
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...DotNetMarche
4 iscritti al meetup. Nessun commento al post. 1 solo speaker (che poi è tuo cugino). Se sai di cosa sto parlando allora significa che conosci la stretta allo stomaco che si prova quando la tua comminity è silenziosa quanto un cimitero. Ma è davvero la fine? Oppure un community leader può diventare il Dottor Frankenstein di turno e ribaltare la situazione? In questo talk vedremo come basarci sulle metriche per analizzare cosa non sta funzionando nella tua tribù e alcuni consigli azionabili per "resuscitare" l'entusiasmo dei suoi membri.
Custom Vision e Win.ml per le nostre app intelligenti offlineAlessio Iafrate
La mia sessione per Azure Day Rome 2019 per mostrare come creare un'applicaizone uwp che utilizza un modello creato con Custom Vision e Win.ml per funzionare offline
FLSS vuole essere un supporto tecnologico alla gestione della vita condivisa, semplice, giocoso e facile da usare, volto a rendere piacevole e formativo quel periodo della vita in cui giovani studenti e lavoratori condividono un appartamento, soprattutto nelle grandi città dove i canoni d'affitto sono molto alti.
Collettivo Creativo | Programma Movie Design 3D e biografia - WorkshopCreativ...Ornella Pirone
Cari Creativi
1 dei 3 Workshop previsto per Salerno - Nola - Sorrento - Messina - Catania -Palermo è......
MOVIE DESIGN 3D: effetti animati per Sigle TV, WEB e CINEMA
Leggi i programmi ufficiali nell'Album "Docenti e Programmi"..condividi la Cultura, invita i tuoi amici e crea un WorkshopCreativityGroup per aderire e lanciare il Workshop bastano pochi click...aL raggiungimento di minimo 30 persone!!! La prima tappa è prevista a Salerno, entro il 20 febbraio si chiudono le adesioni...partecipa!
Impaginazione automatica e impaginazione assistita in Adobe InDesignKEA s.r.l.
Quali sono le differenze fra impaginazione automatica e impaginazione assistita, e quando utilizzare i due sistemi nell’ambito della comunicazione tecnica e di prodotto
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...DotNetMarche
Come è nata l'esperienza della community romana di Host e come siamo riusciti ad essere riconosciuti da Airbnb. Cosa stiamo imparando, cosa funziona, gli errori da non fare.
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...DotNetMarche
4 iscritti al meetup. Nessun commento al post. 1 solo speaker (che poi è tuo cugino). Se sai di cosa sto parlando allora significa che conosci la stretta allo stomaco che si prova quando la tua comminity è silenziosa quanto un cimitero. Ma è davvero la fine? Oppure un community leader può diventare il Dottor Frankenstein di turno e ribaltare la situazione? In questo talk vedremo come basarci sulle metriche per analizzare cosa non sta funzionando nella tua tribù e alcuni consigli azionabili per "resuscitare" l'entusiasmo dei suoi membri.
Cos'è la UI Composition e che problemi può risolvere
Perchè MVVM e WPF sono importanti per la UI Composition
Il concetto di 'region' e 'UI Injection'
Analisi del toolkit PRISM di Microsoft e cosa comporta realizzarsene uno in proprio.
In questa sessione verranno analizzate alcune pagine ASP.NET che verranno sottoposte a refactoring per aumentarne la modularità e comprensibilità del codice, nonchè favorire la testabilità delle funzioni core.
Si presenteranno techiche e strumenti che è possibile utilizzare in modo da avere un approccio più razionale ed 'ordinato' nella stesura del codice. Le pratiche ed i concetti illustrati sono di carattere generale, quindi liberamente applicabili ad ogni tipologia di applicazione.
In questa sessione a quattro mani introdurremo alcuni dei refactorings più comuni e più facilmente applicabili nell'utilizzo quotidiano, e vedremo come risolverli in maniera facile, veloce ed indolore utilizzando ReSharper e pochi colpi di tastiera.
Incidentalmente, inseriremo nel mentre un pò di patterns e di Test-Driven Development, perchè "se non è testato, allora non funziona"
"It's all about simplicity": perchè le applicazioni basate su Javascript sono spesso complesse, farraginose e difficilmente manutenibili quando è possibile renderle semplici, eleganti e funzionali?
In questa sessione a quattro mani vedremo per prima cosa come sfruttare Javascript al meglio, utilizzando i prototipi, i namespaces, gli oggetti, gli eventi, le chiusure e le altre mille funzionalità di un linguaggio di programmazione troppo spesso sottovalutato.
Ci soffermeremo poi su jQuery per analizzare il suo contributo nel semplificare task normalmente tediosi come la manipolazione del DOM, la gestione degli eventi, la programmazione asincrona (AJAX) e le problematiche di compatibilità cross-browser.
In questa sessione 'hands-on' suddivisa in tre parti, vedremo come, codice alla mano, è possibile realizzare applicazioni business tramite Silverlight, cercando inoltre di renderle compatibili con WPF (Windows Presentation Foundation) in modo da riutilizzare ciò che è stato sviluppato
Ci focalizzeremo su questioni come:
- architettura del progetto
- realizzazione di interfacce utente
- interazione con il Data Layer e servizi in generale
- multitargetting Silverlight / WPF
-integrazione dell'applicazione principale con moduli / plugin, tramite pattern MVP e MVC (per semplificare il porting su WPF)
- modularità ed inversione di controllo
Asp.NET MVC è un nuovo framework per lo sviluppo di applicazioni web alternativo al modello webform. Questo consente di utilizzare il pattern MVC per lo sviluppo di applicazioni Asp.NET, permettendo quindi una miglior separazione delle responsabilità che a sua volta porta ad una maggior manutenibilità, riusabilità e facilità nel testing.
La sessione illustrerà i motivi che hanno portato alla nascita di Asp.NET MVC e le sue caratteristiche fondamentali.
Agenda:
- Storia dei framework MS per lo sviluppo web
- Introduzione a Asp.NET MVC
- Vantaggi di Asp.NET MVC
- Il pattern MVC
- Hello MVC: DEMO
- Componenti di MVC: Routing, Controller, Model, View
Nello sviluppo software il termine “test” assume molti significati;
le tipologie di test sono infatti numerose, ma tutte hanno un unico scopo: provare che il software realizzato sia attinente alle specifiche e non presenti bug.
Tra tutti i test, quelli unitari rappresentano senza dubbio la categoria più interessante per lo sviluppatore, dato che sono dedicati alla verifica di piccole porzioni di
codice e sono spesso scritti nello stesso linguaggio usato per realizzare il software.
Agenda:
- Introduzione ai concetti base del testing
- Test unitari
- Librerie xUnit ed automazione dei test
- Alcuni pattern standard per test unitari
Un altro building block del Framework 3.0 si chiama CardSpace ed ha l'ambizione di risolvere uno dei problemi più ricorrenti della quasi totalità delle applicazioni sia internet sia intranet: l'autenticazione utente.
I problemi correlati all'autenticazione sono di diversa natura: da una parte la difficoltà dell'utente nel gestire elenchi di username e password, dall'altra la sempre crescente necessità di evitare l'hacking delle password, o ancora la tipologia di informazioni che un utente vuole rivelare di sé a seconda del contesto, fino ad essere anche un semplice utente anonimo; ed infine la necessità di contemplare autorità di autenticazioni differenti a seconda del contesto.
Se nel passato Passport ha fallito la sua missione, CardSpace affronta in modo totalmente differente il problema rendendosi fruibile cross-browser e cross-platform per costruire un sistema universale di identificazione nel pieno rispetto della privacy.
Con il Framework 3.0 esordisce in Windows una nuova infrastruttura che permette agli sviluppatori di creare, grazie ad un designer, una rappresentazione visuale di una logica applicativa.
In questa introduzione vedremo come il ruolo di Workflow Foundation sia analogo a quello di un linguaggio che con i suoi statement provvede i mattoncini base per costruire un algoritmo. Una particolare attenzione verrà riposta nel prezioso meccanismo dei servizi del runtime di Workflow Foundation e naturalmente sulle Activity, il mattone fondamentale di questa infrastruttura.
Domain Model e SOA (Service Oriented Architecture)DotNetMarche
In un mondo che è sempre più orientato ai servizi è fondamentale comprendere l’interazione tra il concetto stesso di servizio e un’architettura fortemente Domain Driven. In questo scenario lo sviluppatore si trova ad affrontare scelte talvolta difficili, come ad esempio decidere come esporre all’esterno il proprio Domain Model oppure capire se e quanto le tecnologie a supporto dell’interoperabilità debbano influire il modello implementativo del nostro Domain Model. In questa sessione si cercherà di capire quali sono i principi di design che possono venire in aiuto nella progettazione di architetture SOA, come ad esempio l'inversione di controllo o la programmazione orientata agli aspetti e si esamineranno i tool che possono aiutarci ad implementare correttamente un modello a servizi.
Introduzione al Domain Driven Design (DDD)DotNetMarche
In questa sessione si approfondirà il concetto di Domain Driven Design, un principio di progettazione che può essere visto come una “forma-mentis” per aiutare a concepire e modellare applicazioni enterprise che fanno un forte uso del Domain Model. Questa metodologia, introdotta da Eric Evans, mette in risalto il dominio applicativo di un progetto, costituendo quindi il collante tra il modello analitico e il modello implementativo e trovando la sua naturale applicazione in ambienti di sviluppo agili come Extreme Programming. Come completamento della sessione verranno esaminate alcune tecniche di Layering e pattern architetturali che ben si sposano con questa tecnica.
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.
3. GRAFICA 3D
Daniele Balbini
Senior Developer of TeamDev
website: http://www.teamdev.it
e-mail: d.balbini@teamdev.it
4. 3D in WPF – Le novità (1)
WPF opera con primitive grafiche e
non con i singoli pixel
Le librerie 3D sono consistenti con il
2D:
Stessi oggetti di riempimento (brush)
Strumenti di trasformazione simili
(rotazione, movimento, …)
5. 3D in WPF – Le novità (2)
La grafica vettoriale permette di
scalare le interfacce in modo uniforme
E’ differente creare oggetti 3D dal
creare oggetti 2D con “effetto 3D”:
Si possono calcolare effetti sull’oggetto
(es: riflessi di luce)
Possiamo interagire con gli oggetti
(es.: rotazione)
6. 3D in WPF – Accelerazione Hw
l’antialiasing degli oggetti è
applicato solo su Vista
WPF classifica le capacità grafiche del
sistema in 3 livelli detti Rendering
Tiers
In base alle capacità di rendering è
possibile personalizzare la
visualizzazione 3D
7. 3D in WPF – Elementi base
Gli elementi alla base della grafica
3D di WPF sono:
Viewport3D
Camere
Luci
3D objects
8. 3D in WPF – Viewport3D
Viewport3D è il Container per gli
oggetti 3D, ha due proprietà
fondamentali:
Camera (definisce la vista sulla
scena)
Children (gli oggetti 3D)
9. 3D in WPF – 3D Object
Non esiste una libreria di forme-base
in WPF (cubi, sfere, cilindri,…) in rete
eistono molti modelli già pronti.
Un oggetto 3D, GeometryModel3D
è composto da:
Geometry
Materials
10. 3D in WPF – 3D Object
Geometry [MeshGeometry3D] :
combinazione più o meno
complessa di triangoli che
definiscono la forma dell’oggetto
Materials : definiscono come la
luce interagisce con il nostro
oggetto
11. 3D in WPF – Sorgenti luminose
Modello semplificato della
luce reale (per motivi di
performance)
Diverse fonti di luce
(Directional, Ambient, Point,
Spot)
12. 3D in WPF – Camera
Punto d’osservazione della scena
3D
Diversi tipi di camera:
Perspective, Orthographic, Matrix
Quando colloco una camera ne
devo impostare la Posizione e la
Direzione
13. 3D in WPF – Trasformazioni
Le traformazioni base sono:
Spostamento
(TranslateTransform3D)
Dimensione (ScaleTransform3D)
Rotazione (RotateTransform3D)
Posso unire più trasformazioni
con Transform3DGroup
Editor's Notes
Primitive grafiche (maggiore velocità ed efficacia)
Brush
SolidColorBrush
LinearGradientBrush
RadialGradientBrush
Antialiasing per le schede grafiche che hanno drivers sel sistema operativo
Rendering Tier :
Rendering Tier 0: nessuna accelerazione grafica hw, DirectX < 7
Rendering Tier 1: accelerazione grafica hw parziale, DirectX 7-9
Rendering Tier 2: piena accelerazione grafica hw, DirectX > 9
NOTA: per ottimizzare le performance in scenari 3D complessi soggetti a frequenti refresh
è preferibile settare il campo ClipToBounds a false (non effettua lo stretch dell’oggetto al refresh del parent)
GeometryModel3D rappresenta l’oggetto 3D nella sua interezza
Geometry
NOTA: a seconda di come vengono dichiarate le sequenze dei vertici viene modificato l’orientamento della superficie (front o back)
Materials
1. DiffuseMaterial (materiale piano
2. SpecularMaterial (effetto metallico o di un vetro, riflette come uno specchio)
3. EmissiveMaterial (emette una luce propri ma non riflette altri oggetti nella scena)
MaterialGroup (permette di combinare più combinazioni dei 3 materiali precedenti)
Modello semplificato della luce:
La luce viene calcolata solo per i vertici dei triangoli e interpolata sul resto della superficie-
Viene calcolata in modo indipendente per ogni oggetto non vengono considerate le ombre
Diversi tipi di luce
DirectionalLight (direzionale, raggi paralleli provenienti dalla direzione indicata)
AmbientLight (diffusa)
Point Light (irradia in tutte le direzioni cominciando da un punto)
SpotLight (irradia da un punto seguendo un cono)
Tipi di telecamere:
Perspective: effetto 3D classico
Orthographic: preserva la scala degli oggetti a discapito della prospettiva
Matrix: la renderizzazione 2D viene realizzata attraverso una matrice custom
Posizionamento camera
Posizione dell’osservatore
Direzione dello sguardo [LookDirection], rappresentata vettore 3D
TranslateTransform3D: definisco un vettore di spostamento (offset)
Dimensione: definisco un vettore di scaling
Rotazione: definisco un vettore indicante l’asse di rotazione e un valore per l’angolo di rotazione