[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2

782 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
782
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2

  1. 1. Urmeaza Manipularea datelor, conectivitate si performanta in Silverlight 2<br />CE LANSAM NOU?<br />www.microsoft.ro/web<br /><ul><li> site dedicat web designerilor si dezvoltatorilor pe Internet;
  2. 2. noutati, tehnologie, oportunitati de business, evenimente;
  3. 3. Check it out!</li></ul>VREI SA FII MEREU LA CURENT CU TOT CE FACEM?<br /><ul><li>Aboneaza-te la newsletterele noastre la microsoft.ro/abonare:
  4. 4. daca esti dezvoltator alege: MSDN Newsletter
  5. 5. daca esti profesionist in infrastructura IT alege: TechNet Newsletter
  6. 6. daca esti partener Microsoft alege: Partners Newsletter
  7. 7. Blog-uri, comunitati si multe alte resurse:</li></ul>http://www.microsoft.com/romania/web/resurse.html<br />
  8. 8. Agenda Web Days <br />(5 martie)<br />10:00 – 11:00 Internet Explorer 8<br />11:00 – 12:00 Introducere în Silverlight 2<br />13:00 – 14:00 Manipularea datelor, conectivitate și performanță în Silverlight 2<br />14:00 – 15:00 Stări și șabloane de controale în practică<br />15:00 – 16:00 Dezvoltarea unei aplicații RIA cu Silverlight<br />16:00 – 17:00 Introducere în Silverlight Streaming<br />Acceseaza agenda evenimentului in detaliu pe <br />www.microsoft.ro/webdays<br />
  9. 9. Manipularea datelor, conectivitate si performanta in Silverlight 2<br />Diana Tataran<br />Software Developer<br />Océ Software<br />
  10. 10. Cuprins<br />Manipularea datelor<br />Popularea elementelor din UI cu date<br />Validarea si conversia datelor<br />Conectivitate<br />Comunicarea prin HTTP in Silverlight<br />Consumarea unui serviciu Web WCF<br />Consumarea unui serviciu Web SOAP<br />Performanta<br />Ponturi pentru o performanta mai buna<br />SEO pentru aplicatii Silverlight<br />
  11. 11. Manipularea datelor<br />Transform<br />Prepare/Shape<br />class SkiCostume<br />{<br /> public string Image {get;set}<br /> public string Model {get;set]<br />}<br />
  12. 12. Manipularea datelor<br />Modelarea datelor<br /><ul><li>Serializarea
  13. 13. WSDL/SOAP – serializarea serviciilor web
  14. 14. JSON - DataContractJSONSerializer
  15. 15. XML
  16. 16. Manipularea fisierelor XML
  17. 17. XmlReader
  18. 18. XmlWriter </li></li></ul><li>Manipularea datelor<br />Language INtegrated Query (LINQ)<br />Permite expresiilor de interogare sa beneficieze de:<br />verificarea sintaxei la compilare<br />tipuri statice si Intellisense <br />Functioneaza pe orice sursa de date de tipul IEnumerable&lt;T&gt;<br />Ofera suport pentru filtrarea şi sortare in memorie a surselor de date<br />Interogari unificate peste surse de date<br />LINQ to XML<br />LINQ to JSON<br />LINQ to Objects<br />
  19. 19. Manipularea datelor<br />Data Binding<br />
  20. 20. Manipularea datelor<br />Sursele de date<br />Pot sa lege elementele UI la orice proprietate publică a unui obiect CLR<br />DataContext: reprezinta proprietatea unui FrameworkElement care defineşte sursa de date pentru acel element şi pentru toate elementele din sub-arborele respectiv<br />Binding.Source: Permite o modalitate de a specifica sursele de date per binding<br />
  21. 21. Manipularea datelor<br />Modalitati de legare a surselor de date cu elemente din UI<br />One Way<br />Actualizarile sursei de date sunt reflectate in UI<br />Sursele de date implementeaza pentru notificarea schimbarilor INotifyPropertyChanged<br />Two Way<br />Modificarile la nivel de UI conduc la actualizarea obiectului care joaca rolul de sursa de date<br />One Time<br />Actualizeaza controlul tinta cu sursa de date o singura data, la crearea legaturii<br />
  22. 22. Manipularea datelor<br />Conversia datelor<br />De ce este nevoie de convertoare?<br />Convertoarele pot fi setate pe orice binding.<br />Fiecare convertor este personalizat in functie de scenariu <br />Implementeaza IValueConveter <br />Se poate utiliza in {Binding ..} <br />One Way / Two Way <br />From source = Convert <br />From target = ConvertBack<br />
  23. 23. DataTemplate<br />Manipularea datelor<br />Data Templates<br />class SkiCostume<br />{<br /> string Image {get;set}<br /> string Model {get;set}<br />}<br />&lt;DataTemplate x:Key=&quot;skiCostumeTemplate&quot;&gt;<br /> &lt;Border BorderBrush=&quot;Blue&quot; BorderThickness=&quot;2&quot; Background=&quot;LightGray&quot;<br /> Margin=&quot;10&quot; Padding=&quot;15,15,15,5&quot;&gt;<br /> &lt;StackPanel&gt;<br /> &lt;Image HorizontalAlignment=&quot;Center&quot; Source=&quot;{Binding Path=Image}&quot; Height=&quot;300&quot; Width=&quot;120&quot;/&gt;<br /> &lt;Border HorizontalAlignment=&quot;Center&quot; BorderBrush=&quot;Navy&quot;<br /> Background=&quot;#DDF&quot; BorderThickness=&quot;1&quot; Margin=&quot;10&quot; Padding=&quot;3&quot;&gt;<br /> &lt;TextBlock FontSize=&quot;18&quot; Text=&quot;{Binding Path=Model}&quot; /&gt;<br /> &lt;/Border&gt;<br /> &lt;/StackPanel&gt;<br /> &lt;/Border&gt;<br /> &lt;/DataTemplate&gt;<br />
  24. 24. Manipularea datelor<br />Validarea datelor<br />Rutarea evenimentului BindingValidationError<br />prin intermediul exceptiilor din Converter si/sau PropertySetter<br />Permite <br />Mode=TwoWay<br />NotifyOnValidationError=true<br />ValidatesOnExceptions=true<br />
  25. 25. demo <br />Data Binding<br />
  26. 26. Cuprins<br />Manipularea datelor<br />Popularea elementelor din UI cu date<br />Validarea si conversia datelor<br />Conectivitate<br />Comunicarea prin HTTP in Silverlight<br />Consumarea unui serviciu Web WCF<br />Consumarea unui serviciu Web SOAP<br />Performanta<br />Ponturi pentru o performanta mai buna<br />SEO pentru aplicatii Silverlight<br />
  27. 27. Conectivitate<br />Comunicarea prin HTTP<br />Silverlight permite comunicarea HTTP / HTTPS cu servicii Web gazduite atat in interiorul cat si in afara domeniului care gazduieste aplicatia Silverlight<br />Foloseste stiva de networking a browser-ului<br />Mosteneste caching-ul, suport pentru proxy, autentificarea etc<br />Mosteneste insa si limitarile acesteia<br /> (de ex.: numarul de conexiuni, care in mod implicit este 2)<br />Toate API-urile Silverlight de networking sunt asincrone.<br /> =&gt; Nu poate bloca thread-ul UI.<br />API-urile Silverlight:<br />WebClient<br />HttpWebRequest<br />WebServices <br />Sockets<br />
  28. 28. Conectivitate<br />Conectivitate cu JavaScript<br />Conectivitate cu AJAX<br />obiectul XMLHttpRequest in JavaScript<br /> folosind clasele JSON Proxy in ASP.NET AJAX<br />
  29. 29. Conectivitate<br />Comunicarea prin HTTP<br />Clasa WebClient<br />Asigura acces asincron la toate asset-urile retelei <br />Inclusiv cross-domain; trebuie stabilit un policy file pentru comunicarea cross-domain <br />Este prevazuta cu metode de download de date dintr-o resursa / upload de date intr-o resursa<br />(tipurile acceptate sunt Stream si/sau string )<br />Uri myURI = new Uri(“http://localhost:9001/DateHandler.ashx”);<br />WebClient client = new System.Net.WebClient(); <br />client.DownloadStringCompleted+=new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);<br />client.DownloadStringAsync(myURI);<br />
  30. 30. demo <br />Conectivitate cu JavaScript<br />
  31. 31. Conectivitate<br />Consumarea unui serviciu web WCF<br />Serviciile sunt definite prin intermediul contractelor WCF<br />Se utilizeaza Visual Studio pentru a crea un serviciu-proxy (bazat pe HttpWebRequesc / HttpWebResponse)<br />Silverlight foloseste proxy-ul creat in mod asincron<br />
  32. 32. demo <br />Consumarea unui serviciuweb WCF<br />
  33. 33. Conectivitate<br />Consumarea unui serviciu web SOAP<br />Serviciile web trebuie sa expuna un fişier WSDL, iar pe server ar trebui sa existe fisierele:<br />crossdomain.xml<br />clientaccesspolicy.xml<br /> configurate corect si plasate coerspunzator<br />Se utilizeaza Visual Studio pentru a crea un serviciu-proxy (bazat pe HttpWebRequesc / HttpWebResponse)<br />Silverlight foloseste proxy-ul creat in mod asincron<br />
  34. 34. demo <br />Consumarea unui serviciuweb SOAP<br />
  35. 35. Cuprins<br />Manipularea datelor<br />Popularea elementelor din UI cu date<br />Validarea si conversia datelor<br />Conectivitate<br />Comunicarea prin HTTP in Silverlight<br />Consumarea unui serviciu Web WCF<br />Consumarea unui serviciu Web SOAP<br />Performanta<br />Ponturi pentru o performanta mai buna<br />SEO pentru aplicatii Silverlight<br />
  36. 36. Performanta<br />Ponturi pentru o performanta mai buna<br />Testati aplicatia pe mai multe platforme si browsere<br />Evitati utilizarea Windowless Mode<br />Utilizati ori de cate ori este posibil proprietatea Visibility in loc de Opacity <br />Spargeti pachetele mari de aplicatii<br />Impartiti activitatile care solicita mai mult procesorul in activitati mai mici<br />Nu folositi proprietatile Width si Height cu obiecte de tip MediaElement<br />Utilizati BackgroundWorker<br />
  37. 37. Performanta<br />SEO pentru aplicatii Silverlight<br />Pattern-uri pentru dezvoltarea de aplicatii Silverlight indexabile<br />Combinati HTML cu continut Silverlight<br />Utilizati HTML Bridge pentru a genera conţinut dinamic Silverlight<br />
  38. 38. Performanta<br />SEO pentru aplicatii Silverlight<br />De luat in considerare:<br />Comportamentul paginilor Web cu continut Silverlight in diverse configuratii (de ex. Opera sau Windows 98), care nu sunt suportate de Silverlight<br />Conportamentul paginillor Web in cazul clientilor care folosesc programe din categoria screen reader sau narrators<br />Conportamentul paginillor Web in cazul clientilor care folosesc browsere care nu pot sa execute scripturi (Lynx)<br />
  39. 39. Performanta<br />SEO pentru aplicatii Silverlight<br />Utilizarea unui titlu de pagina cat mai sugestiv<br />Adaugarea de description metada<br />&lt;head&gt;<br />&lt;meta name=&quot;description&quot; content=“Prima mea aplicatie Silverlight&quot; &gt; ...<br />&lt;/head&gt;<br />
  40. 40. Performanta<br />SEO pentru aplicatii Silverlight<br />Utilizarea &lt;object&gt;<br />
  41. 41. Performanta<br />SEO pentru aplicatii Silverlight<br />Specificarea de continut Silverlight alternativ<br />
  42. 42. Performanta<br />SEO pentru aplicatii Silverlight<br />Utilizaţi createObject atunci când se foloseste Silverlight.js<br />Avantaje:<br />Inlocuirea HTML-ului din elementul-parinte (de ex. div) inlatura orice alte elemente din acel element-parinte<br />De multe ori motoarele de cautare analizeaza si indexeaza tag-urile HTML inainte de rularea scripturilor si modificarea HTML DOM-ului.<br />Testarea experientei utilizator mai putin bogate (down-level experiences)<br />
  43. 43. Link-uri utile<br /><ul><li>Microsoft.ro/web -site dedicat web designerilor si dezvoltatorilor pe Web
  44. 44. Partners Portal- portalul de Parteneri localizat in limba romana: https://partner.microsoft.com/romania/partner
  45. 45. Innovate On - portalul unde iti poti inregistra si pre-testa solutia dar si accesa numeroase resurse tehnice si de training: www.innovateon.com
  46. 46. Silverlight 2 Learning Resources</li></ul>http://silverlight.net/learn/<br /><ul><li> Silverlight Developer Center</li></ul>http://msdn.microsoft.com/en-us/silverlight/default.aspx<br /><ul><li> Silverlight 2 Whitepapers</li></ul>http://silverlight.net/learn/whitepapers.aspx<br /><ul><li> Blogul echipei Silverlight</li></ul>http://silverlight.net/blogs/MainFeed.aspx<br /><ul><li> XamlCentral</li></ul>http://xamlcentral.ro/Forms/Home.aspx<br />
  47. 47. Reperele parteneriatului cu Microsoft<br /><ul><li>Tehnologie (licente de uz intern, trial-uri, unelte)
  48. 48. Training gratuit
  49. 49. Marketing si vizibilitate</li></ul>…prin:<br /><ul><li>BizSpark – tehnologie Microsoft pentru incurajarea start-up-urilor software: http://www.bizspark.ro
  50. 50. Microsoft Action Pack Web Kit– pentru agentiile web si firmele dezvoltatoare pe internet: https://partner.microsoft.com/romania/40013779
  51. 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
  52. 52. Microsoft Partner Program– o gama larga de licente, resurse de marketing si training dedicat firmelor de software: https://partner.microsoft.com/romania/program/programoverview/goldcertpartner</li></li></ul><li>Va multumim!<br />Agenda Web Days <br />(5 martie)<br />10:00 – 11:00 Internet Explorer 8<br />11:00 – 12:00 Introducere în Silverlight 2<br />13:00 – 14:00 Manipularea datelor, conectivitate și performanță în Silverlight 2<br />14:00 – 15:00 Stări și șabloane de controale în practică<br />15:00 – 16:00 Dezvoltarea unei aplicații RIA cu Silverlight<br />16:00 – 17:00 Introducere în Silverlight Streaming<br />Acceseaza agenda evenimentului in detaliu pe <br />www.microsoft.ro/webdays<br />
  53. 53. Multumesc<br />

×