420 likes | 503 Views
Silverlight per le applicazioni Enterprise. Antonio Liccardi. CHI SONO. Antonio ‘ Turibbio ’ Liccardi Blog: http://www.dotnetcampania.org/blogs/turibbio Email: antonio.liccardi@dotnetcampania.org @ turibbio WebMobiDeveloper presso BcSoft s.n.c Co-Founder DotNetCampania.
E N D
Silverlight per le applicazioni Enterprise Antonio Liccardi
CHI SONO Antonio ‘Turibbio’ Liccardi • Blog: • http://www.dotnetcampania.org/blogs/turibbio • Email: antonio.liccardi@dotnetcampania.org • @turibbio • WebMobiDeveloper presso BcSofts.n.c • Co-Founder DotNetCampania
Cosa è Silverlight • Background: • Evoluzione del web • Miglioramento della UI • Miglioramento dell’interazione • Adobe Flash / Flex
Cosa è Silverlight Cross-Platform / Cross-Browser XAML Supporto per animazioni, effetti grafici … Supporto Audio/Video (anche HD & DRM) Supporto del .Net Framework (CLR / BCL / ManagedCode) Oltre 60 controlli built-in
Cosa è Silverlight • Silverlight 1.0 • Silverlight 2.0 • Silverlight 3.0 3.5 • Marzo 2007 • Funzionalità di base • Solo XAML e Javascript (No managedCode & BCL) • Marzo 2008 • Conosciuta come Alpha 1.1 Preview • Cross-Browser / Cross-Platform • Aggiunta del CLR, BCL e migliorie allo XAML • IsolatedStorage • Interfacciamento con WebServices, WCF, chiamate HTTP… • Supporto di Linq, Ado.Net Data Services • Media enchancements, NetworkingSupport (Json, socket...) • Marzo 2009 • Supporto grafica 3D • Easingfunctionforanimation • Pixel Shaders • Supporto ai temi • Bitmap API • Supporto H.264, AAC, MP4 • IIS Media Services • Out of Browser Experience • AssemblyCaching • Validazione migliorata Silverlight 4.0 Supporto alla stampa, miglioramenti per l’out of browser, miglioramenti per la localizzazione, template per business application, webcam, SEO…
Silverlight vs WPF Silverlight è il fratello minore di WPF Entrambi usano XAML e CLR, BCL & Managed Code (Silverlight in parte!) Silverlight eredita la stessa metodologia di realizzazione delle animazioni, forme ed effetti MediaElement
.Net in Silverlight • .Net ha una consolidata community di sviluppatori • La conoscenza del .Net può essere “riusata” • .Net è una tecnologia con features mature • Perché non usare direttamente il .Net per Silverlight? • L’intero framework occupa 200mb • Il Framework non è cross-platform • Silverlight non necessita di tutte le funzionalità del framework
Browser Host • Non è altro che un plugin • Lifecycle: • Installation & Update • Activation • Deactivation • Out of Browser Experience • Network • BOM, DOM & Javascript
PresentationCore Non è altro che il runtime Codice Nativo Javascript o XAML Display, Input, Controls, Media, DRM
CoreCLR Silverlight XAML Media Codecs DRM Base Class Libraries Debugging APIs CoreCLR JIT Garbage Collector Security Model Exception Handling Loader & Binder
CoreCLR • Gestione della memoria • Common Type System and typesafety • Gestione delle eccezioni • Threading • Code Security • Silverlight Sandbox
Base ClassLibrary • Base types • Input/Output • Crittografia • Reflection • Collections • Globalization • Serialization • XML & JSON
Silverlight ClassLibrary IsolatedStorage Browser Interop Packaging
Networking • Windows CommunicationFoundation • HTTP Request & Response • REST & POX • RSS Syndication • JSON • Sockets
Data • Objects (supporto a LINQ) • XML (supporto a LINQ) • JSON • Non c’è ADO.NET!!! • ADO.NET Data Services
Asincronia in Silverlight In Silverlight tutto è asincrono 1 solo thread con una coda di operazioni Concetto di Parallelismo Multithreading
Cosa è lo XAML XAML => eXtensibleApplication Markup Language Deriva da XML E’ un linguaggio dichiarativo, che consente la dichiarazione di oggetti nell’interfaccia E’ direttamente mappato al code-behind tramite la classe di riferimento
Perché lo XAML è innovativo • Aspetto Grafico • Aspetto Programmatico • Applicazione • XAML • C# / VB.Net … • Codice interpretato dal runtime Consente di distinguere l’aspetto grafico da quello programmatico
First look to XAML Namespace per il mapping degli oggetti Silverlight Namespace per il mapping dello XAML Dichiarare un proprio namespace
Dichiarazione di oggetti in XAML ContentElementSintax AttributeElementSintax
Gerarchia degli oggetti in XAML Lo XAML ha una struttura ad albero La posizione dei nodi indica l’ordine di renderizzazione degli elementi (da sinistra a destra)
DEMO Expression Blend
Background Consentire agli sviluppatori di creare applicazioni web che abbiano più “viste” Ogni singola vista deve eseguire un task dedicato Maggiore usabilità dell’applicazione stessa Minore sforzo da parte dello sviluppatore
Introduzione al NavigationFramework • Si basa su due concetti • Frame • Page • Friendly Url • PageTracking • Browser History
Out Of Browser Introduce un concetto innovato per le applicazioni web Abilitazione tramite le impostazioni dell’applicazione L’applicativo girerà in una sandbox
Out Of Browser IsRunningOutOfBrowser(); Install(); Possibilità di effettuare aggiornamenti Possibilità di verificare la connessione di rete
IsolatedStorage • Rappresenta un mini file-system solo per Silverlight • IsolatedStorageFile • GetUserStoreForSite • GetUserStoreForApplication • Possibilità di salvare le impostazioni di default • IsolatedStorageSetting
WCF RIA Service Services Rich Internet Application Browser Web Application Presentation Logic App Logic Data Access Layer HTML Network DB Services Services Other Applications ByNikHil
Un grazie di cuore a tuttigli sponsor Senza di lorooggi non saremmo qui!
Compilateil modulo di feedback! La vostraopinione per noi è fondamentale! Grazie!