1 / 35

Silverlight 4 frameworks, patterns

Silverlight 4 frameworks, patterns. Mike Taulty Microsoft Ltd @ mtaulty mtaulty@microsoft.com http://mtaulty.com. capabilities. need to know some or all of this depending on what you’re building. beyond capabilities. *lots of other Silverlight frameworks,

freja
Download Presentation

Silverlight 4 frameworks, patterns

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Silverlight 4frameworks, patterns Mike Taulty Microsoft Ltd @mtaulty mtaulty@microsoft.com http://mtaulty.com

  2. capabilities need to know some or all of this depending on what you’re building

  3. beyond capabilities *lots of other Silverlight frameworks, libraries, patterns out there – sorry if I missed your favorite

  4. where are we? • ASP.NET Client Application Services • WCF Data Services • WCF RIA Services • navigation • search • extensible applications with MEF

  5. ASP.NET Client App Services • ASP.NET services available to Silverlight clients ASP.NET membership roles profiles no specific client libraries here, just add a reference and make the call

  6. enough hot air, do a demo ASP.NET Services from Silverlight

  7. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF

  8. RESTful services (in general) HTTP Request URL Resources VERB Res 1 GET Payload Res 2 POST PUT Res 3 JSON XML DELETE Res 4 JSON XML HTTP Response Status Payload

  9. odata • Open Data Protocol ( odata) • www.odata.org • published under the Open Specification Promise • Extends the AtomPub standard to add • an addressing scheme • a mechanism for schema • alternate representation – JSON • handling for concurrent updates • handling for batched requests

  10. WCF Data Services ( “Astoria” ) http://server/customers(‘alfki’)/Orders?$top=20 implementation of odata for the client and the server WCF Data Services Libraries • DataModel • EntityFramework • LINQ to SQL • Custom request metadata LINQ Query generated proxy code metadata .NET OData Implementation WCF Data Services Libraries Windows Azure Storage Java PHP SharePoint WebSphere Atom “Other” OData Implementations

  11. enough hot air, do a demo WCF Data Services from Silverlight

  12. WCF Data Services oData – There’s a Feed for That oData – How to Create a Feed for That To learn about OData go to Pablo/Mike’s talks Tuesday 11.30am Lagoon L Tuesday 3pm Breakers H ( check 2 B sure )

  13. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF

  14. WCF RIA Services • DomainContext • Stateful view + Bindable Data • class PlateViewDomainService • EntityList<Restaurant> Books { get } • EntityQuery<Restaurant> GetRestaurantQuery() • EntityQuery<Restaurant> SearchRestaurantQuery(string) • class Restaurant • Data members + Validation • DomainService • Stateless CRUD + App Logic • class PlateViewDomainService • IQueryable<Restaurant> GetRestaurants() • IQueryable<Restaurant> SearchRestaurant(string) • void AddRestaurant(Restaurant) • Validation and authorization rules, • Application workflows, … • Data Model • class Restaurant Data Model + Metadata + Shared Code Services Rich Internet Application Presentation Logic App Logic Data Access Layer Network DomainContext Data Service DB Under the covers infrastructure Note: Slide stolen from Brad Abrams

  15. WCF RIA Services • WCF RIA Services (fka .NET RIA Services) You’re building an application • You’re responsible for both server and client deep in business logic and semantics • WCF Data Services (fka “Astoria”) You’re exposing/acquiring data • You control one side or the other, not both • CRUD among arbitrary producers / consumers logic and semantics are invisible NB: Slide stolen from Brad Abrams

  16. enough hot air, do a demo WCF RIA Services

  17. WCF RIA Services Developing with WCF RIA Services Quickly & Effectively To learn about WCF RIA Services go to Nikhil Kothari’s talk Tuesday 1:30pm Lagoon H ( check 2 B sure )

  18. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF

  19. navigation Page • Frame displays a Page Page <UserControl> <Frame Source=“authors.xaml”/> authors.xaml • navigation between pages • call Frame.Navigate() or set the Source property • or use a HyperlinkButton ( NavigateUri/TargetName ) • navigation history • call Frame.[Can]Go[Back()/Forward()] books.xaml

  20. navigation Page • navigation can integrate with the browser • enables hyperlinking into Silverlight content • requires a browser! • requires a hidden iframe on the hosting page • for top levelFrames not nested frames • Frame displays a Page Page <UserControl> <Frame Source=“authors.xaml”/> authors.xaml books.xaml

  21. navigation navigate: http://booksite/default.aspx#/authors/steinbeck navigate: /authors/steinbeck Frame UriMapper ContentLoader Asynchronously turns the URI into a Page or UserControl

  22. enough hot air, do a demo Navigation Framework in Silverlight 4

  23. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF

  24. search • search engines visiting a page with Silverlight • read robots.txt and sitemap • read/index the page title • read/index the <meta name=“description”/> • read/index the surrounding HTML( if any ) • will not read XAP or dynamic Silverlight content • approach • alternate content in the <object/> tag • for both search engines & down-level clients

  25. enough hot air, do a demo offering alternate content to search note – I stole this demo, it comes from the WCF RIA Services Code Gallery and is called “Silverlight Store”

  26. WCF RIA Services Search Engine Optimization for MS Silverlight To learn more about SEO go to Brad Abrams’ talk Wednesday 12.00 Lagoon B ( check 2 B sure )

  27. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF

  28. extensible applications with MEF • the Managed Extensibility Framework • “an extensible framework for composing applications from a set of loosely-coupled parts discovered and evolving at run-time“ (mike) • versions • .NET Framework shipping with Silverlight 4 • .NET Framework 4 shipping with VS 2010 • Silverlight 3 & .NET Framework V3.5 Sp1 ( from source on CodePlex )

  29. essential MEF import (e.gDebuggerVisualizer) export (e.gDebuggerVisualizer) • MEF discovers exports via catalogs • several “in box” catalogs plus many extensibility points • supports available exports changing at runtime • and/or can be handed component instances Component (e.g. Visual Studio) Component (e.g. XML Visualizer) MEF Composition Engine

  30. one application of MEF initial, small download MyApp.xap Extras.xap additional functionality

  31. enough hot air, do a demo the Managed Extensibility Framework

  32. MEF Silverlight Optimization & Extensibility with MEF To really learn about MEF go along to Glenn Block’s talk Tuesday, 3.35pm Lagoon B ( check 2 B sure )

  33. resources www.silverlight.tv www.silverlight.net

  34. feedback

  35. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related