8. Agenda Web Days (5 martie) 10:00 – 11:00 Internet Explorer 8 11:00 – 12:00 Introducere în Silverlight 2 13:00 – 14:00 Manipularea datelor, conectivitate și performanță în Silverlight 2 14:00 – 15:00 Stări și șabloane de controale în practică 15:00 – 16:00 Dezvoltarea unei aplicații RIA cu Silverlight 16:00 – 17:00 Introducere în Silverlight Streaming Acceseaza agenda evenimentului in detaliu pe www.microsoft.ro/webdays
10. Cuprins Manipularea datelor Popularea elementelor din UI cu date Validarea si conversia datelor Conectivitate Comunicarea prin HTTP in Silverlight Consumarea unui serviciu Web WCF Consumarea unui serviciu Web SOAP Performanta Ponturi pentru o performanta mai buna SEO pentru aplicatii Silverlight
11. Manipularea datelor Transform Prepare/Shape class SkiCostume { public string Image {get;set} public string Model {get;set] }
20. Manipularea datelor Sursele de date Pot sa lege elementele UI la orice proprietate publică a unui obiect CLR DataContext: reprezinta proprietatea unui FrameworkElement care defineşte sursa de date pentru acel element şi pentru toate elementele din sub-arborele respectiv Binding.Source: Permite o modalitate de a specifica sursele de date per binding
21. Manipularea datelor Modalitati de legare a surselor de date cu elemente din UI One Way Actualizarile sursei de date sunt reflectate in UI Sursele de date implementeaza pentru notificarea schimbarilor INotifyPropertyChanged Two Way Modificarile la nivel de UI conduc la actualizarea obiectului care joaca rolul de sursa de date One Time Actualizeaza controlul tinta cu sursa de date o singura data, la crearea legaturii
22. Manipularea datelor Conversia datelor De ce este nevoie de convertoare? Convertoarele pot fi setate pe orice binding. Fiecare convertor este personalizat in functie de scenariu Implementeaza IValueConveter Se poate utiliza in {Binding ..} One Way / Two Way From source = Convert From target = ConvertBack
24. Manipularea datelor Validarea datelor Rutarea evenimentului BindingValidationError prin intermediul exceptiilor din Converter si/sau PropertySetter Permite Mode=TwoWay NotifyOnValidationError=true ValidatesOnExceptions=true
26. Cuprins Manipularea datelor Popularea elementelor din UI cu date Validarea si conversia datelor Conectivitate Comunicarea prin HTTP in Silverlight Consumarea unui serviciu Web WCF Consumarea unui serviciu Web SOAP Performanta Ponturi pentru o performanta mai buna SEO pentru aplicatii Silverlight
27. Conectivitate Comunicarea prin HTTP Silverlight permite comunicarea HTTP / HTTPS cu servicii Web gazduite atat in interiorul cat si in afara domeniului care gazduieste aplicatia Silverlight Foloseste stiva de networking a browser-ului Mosteneste caching-ul, suport pentru proxy, autentificarea etc Mosteneste insa si limitarile acesteia (de ex.: numarul de conexiuni, care in mod implicit este 2) Toate API-urile Silverlight de networking sunt asincrone. => Nu poate bloca thread-ul UI. API-urile Silverlight: WebClient HttpWebRequest WebServices Sockets
28. Conectivitate Conectivitate cu JavaScript Conectivitate cu AJAX obiectul XMLHttpRequest in JavaScript folosind clasele JSON Proxy in ASP.NET AJAX
29. Conectivitate Comunicarea prin HTTP Clasa WebClient Asigura acces asincron la toate asset-urile retelei Inclusiv cross-domain; trebuie stabilit un policy file pentru comunicarea cross-domain Este prevazuta cu metode de download de date dintr-o resursa / upload de date intr-o resursa (tipurile acceptate sunt Stream si/sau string ) Uri myURI = new Uri(“http://localhost:9001/DateHandler.ashx”); WebClient client = new System.Net.WebClient(); client.DownloadStringCompleted+=new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); client.DownloadStringAsync(myURI);
31. Conectivitate Consumarea unui serviciu web WCF Serviciile sunt definite prin intermediul contractelor WCF Se utilizeaza Visual Studio pentru a crea un serviciu-proxy (bazat pe HttpWebRequesc / HttpWebResponse) Silverlight foloseste proxy-ul creat in mod asincron
33. Conectivitate Consumarea unui serviciu web SOAP Serviciile web trebuie sa expuna un fişier WSDL, iar pe server ar trebui sa existe fisierele: crossdomain.xml clientaccesspolicy.xml configurate corect si plasate coerspunzator Se utilizeaza Visual Studio pentru a crea un serviciu-proxy (bazat pe HttpWebRequesc / HttpWebResponse) Silverlight foloseste proxy-ul creat in mod asincron
35. Cuprins Manipularea datelor Popularea elementelor din UI cu date Validarea si conversia datelor Conectivitate Comunicarea prin HTTP in Silverlight Consumarea unui serviciu Web WCF Consumarea unui serviciu Web SOAP Performanta Ponturi pentru o performanta mai buna SEO pentru aplicatii Silverlight
36. Performanta Ponturi pentru o performanta mai buna Testati aplicatia pe mai multe platforme si browsere Evitati utilizarea Windowless Mode Utilizati ori de cate ori este posibil proprietatea Visibility in loc de Opacity Spargeti pachetele mari de aplicatii Impartiti activitatile care solicita mai mult procesorul in activitati mai mici Nu folositi proprietatile Width si Height cu obiecte de tip MediaElement Utilizati BackgroundWorker
37. Performanta SEO pentru aplicatii Silverlight Pattern-uri pentru dezvoltarea de aplicatii Silverlight indexabile Combinati HTML cu continut Silverlight Utilizati HTML Bridge pentru a genera conţinut dinamic Silverlight
38. Performanta SEO pentru aplicatii Silverlight De luat in considerare: Comportamentul paginilor Web cu continut Silverlight in diverse configuratii (de ex. Opera sau Windows 98), care nu sunt suportate de Silverlight Conportamentul paginillor Web in cazul clientilor care folosesc programe din categoria screen reader sau narrators Conportamentul paginillor Web in cazul clientilor care folosesc browsere care nu pot sa execute scripturi (Lynx)
39. Performanta SEO pentru aplicatii Silverlight Utilizarea unui titlu de pagina cat mai sugestiv Adaugarea de description metada <head> <meta name="description" content=“Prima mea aplicatie Silverlight" > ... </head>
41. Performanta SEO pentru aplicatii Silverlight Specificarea de continut Silverlight alternativ
42. Performanta SEO pentru aplicatii Silverlight Utilizaţi createObject atunci când se foloseste Silverlight.js Avantaje: Inlocuirea HTML-ului din elementul-parinte (de ex. div) inlatura orice alte elemente din acel element-parinte De multe ori motoarele de cautare analizeaza si indexeaza tag-urile HTML inainte de rularea scripturilor si modificarea HTML DOM-ului. Testarea experientei utilizator mai putin bogate (down-level experiences)
43.
44. Partners Portal- portalul de Parteneri localizat in limba romana: https://partner.microsoft.com/romania/partner
45. Innovate On - portalul unde iti poti inregistra si pre-testa solutia dar si accesa numeroase resurse tehnice si de training: www.innovateon.com
50. Microsoft Action Pack Web Kit– pentru agentiile web si firmele dezvoltatoare pe internet: https://partner.microsoft.com/romania/40013779
51. Empower – licente, unelte de dezvoltare si suport tehnic pentru firmele software inca la inceput de drum: https://partner.microsoft.com/romania/program/managemembership/empowerprogram