Silverlight 4<br />MSDN Live våren 2010<br />Gøran Hansen<br />Aspiring Software CraftsmanSenior Consultant @ Capgemini<br...
Agenda<br />Silverlight 4<br />Forretningsapplikasjoner<br />Out Of Browser<br />Ny funksjonalitet<br />Demoer underveis<b...
«The goal of Silverlight is to enable it anywhere» - @scottgu, Silverlight Release (15. april 2010) keynote<br />http://ww...
Er Silverlight klar for forretningsapplikasjoner?<br />
1. Støtte for pluginbasert arkitektur<br />
Hvorfor?<br />
Open-Close Principle – OCP<br />”Should be openfor extensions but closed for modification” – Bertrand Meyer (1988)<br />ht...
Managed Extensibility Framework<br />
Managed Extensibility Framework<br />Order<br />MessageSender<br />3. Compose<br />1. Import<br />EmailSender<br />SMSSend...
Pluginbasert arkitektur<br />
Smeedee - Plugins<br />Slide<br />Traybar Widget<br />Traybar Widget<br />Traybar Widget<br />
2. Effektiv utvikling<br />
WCF RIA Services<br />
Rik Internett Applikasjon<br />RIA = webapp som oppfører seg som en deskop app <br /><ul><li>Rik
Responsiv</li></ul>Dele kode mellom klient og server<br /><ul><li>Validering
Forretningslogikk
CRUD</li></ul>Nettleser<br />Applikasjonslogikk<br />Webapplikasjon<br />Applikasjonslogikk<br />Data Access<br />Tjeneste...
Effektiv utvikling<br />
Recap<br />Nettleser<br />Applikasjonslogikk<br />DomainContext – CodeGen proxy<br />RIA Services link – Genererer proxy<b...
3. Støtter best pratices<br />
Designet for enhetstesting og TDD<br />
Støtte for MVVM<br />
Design Data<br />
Best pratices<br />
Ja, Silverlight 4 er definitivt klar for forretningsapplikasjoner!<br />
1. Støtte for pluginbasert arkitektur (Managed Extensibility Framework)<br />
2. Effektiv utvikling(WCF RIA Services)<br />
3. Støtter best pratices(TDD, MVVM, Design Data)<br />
Out Of Browser<br />
Et nytt hjem for Silverlight<br />
Kjører OOB<br />
OOB - Elevated Trust<br />
OOB – Elevated Trust<br />Toast notifications<br />Window customization (Chrome)<br />WebBrowser hosting<br />Relaxed Cros...
Ny funksjonalitet<br />
varprintDocument = newPrintDocument();<br />printDocument.PrintPage += (s, args) =><br />{<br />	args.PageVisual = newText...
Webcam & mikrofon API<br />var captureSource = newCaptureSource();<br />captureSource.CaptureImageCompleted += (o, ee) =><...
Drag drop target<br />
RichTextArea<br />
Upcoming SlideShare
Loading in...5
×

Silverlight 4 @ MSDN Live

1,411

Published on

My Silverlight 4 presentation from MSDN Live sprint 2010.

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

  • Be the first to like this

No Downloads
Views
Total Views
1,411
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Om meg:28 år og bor i TrondheimSelvutnevnt «Software Craftsman» Senior konsulent i CapgeminiMicrosoft MVPStyret i NNUG
  • http://www.artima.com/weblogs/viewpost.jsp?thread=51769
  • Silverlight 4 @ MSDN Live

    1. 1. Silverlight 4<br />MSDN Live våren 2010<br />Gøran Hansen<br />Aspiring Software CraftsmanSenior Consultant @ Capgemini<br />http://blog.goeran.no|@goeran|mail@goeran.no<br />
    2. 2. Agenda<br />Silverlight 4<br />Forretningsapplikasjoner<br />Out Of Browser<br />Ny funksjonalitet<br />Demoer underveis<br />
    3. 3. «The goal of Silverlight is to enable it anywhere» - @scottgu, Silverlight Release (15. april 2010) keynote<br />http://www.microsoft.com/presspass/presskits/silverlight/videogallery.aspx<br />
    4. 4. Er Silverlight klar for forretningsapplikasjoner?<br />
    5. 5. 1. Støtte for pluginbasert arkitektur<br />
    6. 6.
    7. 7. Hvorfor?<br />
    8. 8. Open-Close Principle – OCP<br />”Should be openfor extensions but closed for modification” – Bertrand Meyer (1988)<br />http://www.objectmentor.com/resources/articles/ocp.pdf<br />
    9. 9. Managed Extensibility Framework<br />
    10. 10. Managed Extensibility Framework<br />Order<br />MessageSender<br />3. Compose<br />1. Import<br />EmailSender<br />SMSSender<br />MessageSender<br />2. Export<br />
    11. 11. Pluginbasert arkitektur<br />
    12. 12. Smeedee - Plugins<br />Slide<br />Traybar Widget<br />Traybar Widget<br />Traybar Widget<br />
    13. 13. 2. Effektiv utvikling<br />
    14. 14. WCF RIA Services<br />
    15. 15. Rik Internett Applikasjon<br />RIA = webapp som oppfører seg som en deskop app <br /><ul><li>Rik
    16. 16. Responsiv</li></ul>Dele kode mellom klient og server<br /><ul><li>Validering
    17. 17. Forretningslogikk
    18. 18. CRUD</li></ul>Nettleser<br />Applikasjonslogikk<br />Webapplikasjon<br />Applikasjonslogikk<br />Data Access<br />Tjenester<br />DB<br />
    19. 19. Effektiv utvikling<br />
    20. 20. Recap<br />Nettleser<br />Applikasjonslogikk<br />DomainContext – CodeGen proxy<br />RIA Services link – Genererer proxy<br />Webapplikasjon<br />Applikasjonslogikk<br />DomainService - CRUD<br />Data Access<br />Entiteter - EF/Linq2Sql/Nhibernate/POCO<br />Tjenester<br />DB<br />
    21. 21. 3. Støtter best pratices<br />
    22. 22. Designet for enhetstesting og TDD<br />
    23. 23. Støtte for MVVM<br />
    24. 24. Design Data<br />
    25. 25. Best pratices<br />
    26. 26. Ja, Silverlight 4 er definitivt klar for forretningsapplikasjoner!<br />
    27. 27. 1. Støtte for pluginbasert arkitektur (Managed Extensibility Framework)<br />
    28. 28. 2. Effektiv utvikling(WCF RIA Services)<br />
    29. 29. 3. Støtter best pratices(TDD, MVVM, Design Data)<br />
    30. 30. Out Of Browser<br />
    31. 31. Et nytt hjem for Silverlight<br />
    32. 32. Kjører OOB<br />
    33. 33. OOB - Elevated Trust<br />
    34. 34. OOB – Elevated Trust<br />Toast notifications<br />Window customization (Chrome)<br />WebBrowser hosting<br />Relaxed Cross-Domain Access Restrictions<br />Full-Screen with keyboard input<br />File System Access (MyDocuments, MyMusic, MyPictures and MyVideos)<br />Native Integration<br />http://msdn.microsoft.com/en-us/library/ee721083(VS.96).aspx<br />
    35. 35. Ny funksjonalitet<br />
    36. 36. varprintDocument = newPrintDocument();<br />printDocument.PrintPage += (s, args) =><br />{<br /> args.PageVisual = newTextBlock()<br />{<br /> Text = "Hello world"<br /> };<br />};<br />printDocument.Print("Title");<br />
    37. 37. Webcam & mikrofon API<br />var captureSource = newCaptureSource();<br />captureSource.CaptureImageCompleted += (o, ee) =><br />{<br />//Do something<br />};<br />captureSource.VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();<br />captureSource.CaptureImageAsync();<br />
    38. 38. Drag drop target<br />
    39. 39. RichTextArea<br />
    40. 40. Clipboard access<br />
    41. 41. Godbiter<br />
    42. 42. Ytelse<br />Dobbelt så rask<br />30 % raskere oppstartstid<br />Profiling support (API)<br />
    43. 43. Silverlight 4<br />Er definitivt klar for forretningsapplikasjoner<br />Gøran Hansen<br />Aspiring Software CraftsmanSenior Consultant @ Capgemini<br />http://blog.goeran.no|@goeran|mail@goeran.no<br />
    44. 44. Have you ever been slowed down by bad code? <br />- Robert C. Martin aka. Unclebob<br />
    45. 45. Webapplikasjon<br />Klient<br />Nettleser<br /><HTML><br />Webapplikasjon<br />Server<br />Presentasjonslogikk<br />Applikasjonslogikk<br />Data Access<br />Tjenester<br />DB<br />
    46. 46. Databases<br />ADO.NET,<br />ORMs (LTS, EF, …)<br />.NET Clients<br />Silverlight, Phone,<br />WPF<br />Standards Clients<br />JavaScript<br />App<br />Logic<br />Lists/Objects<br />Repository<br />(NHibernate, …)<br />Server Rendering<br />HTML, Sitemaps<br />Services<br />REST/SOAP<br />(Azure, …)<br />Services<br />SOAP, XML,<br />JSON, OData<br />Unit Test Code<br />
    47. 47. “It is easier to consider Presentation Modelas an abstract of the viewthat is not dependent on a specific GUI framework.”<br />View (XAML)<br />“A view then simply projects the state of the presentation model onto the glass.”<br />Change notification<br />Commands<br />Data Binding<br />ViewModel<br />Domain Model<br />State<br />Username, Password, ErrorMessage<br />Commands<br />Login, Cancel<br />WS<br />DB<br />FS<br />
    1. Gostou de algum slide específico?

      Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

    ×