mike taulty mix10 silverlight 4 patterns frameworks

Post on 07-Nov-2014

2.852 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Session slides from MIX10 Silverlight 4 workshop.

TRANSCRIPT

Silverlight 4 frameworks, patterns

Mike Taulty

Microsoft Ltd

@mtaulty

mtaulty@microsoft.com

http://mtaulty.com

capabilities

graphics

media

layout

styling

binding

resources animation

controls

network

local machine

browser need to know some or all of this depending on what you’re building

beyond capabilities

rich

internet

application

frameworks patterns

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

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

where are we?

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

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

enough hot air, do a demo

ASP.NET Services from Silverlight

where are we?

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

RESTful services (in general)

Resources

Res 1

Res 2

Res 3

Res 4

HTTP Request

URL

VERB

Payload

HTTP Response Status

GET

POST

PUT

DELETE XML JSON

Payload

XML JSON

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

WCF Data Services ( “Astoria” )

implementation of odata for the client and the server

metadata

http://server/customers(‘alfki’)/Orders?$top=20

Atom

enough hot air, do a demo

WCF Data Services from Silverlight

WCF Data Services

To learn about OData go to Pablo/Mike’s talks

oData – There’s a Feed for That

oData – How to Create a Feed for That

Tuesday 11.30am

Lagoon L

Tuesday 3pm

Breakers H

( check 2 B sure )

where are we?

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

WCF RIA Services

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

DomainContext Stateful view + Bindable Data

class PlateViewDomainService EntityList<Restaurant> Books { get } EntityQuery<Restaurant> GetRestaurantQuery() EntityQuery<Restaurant> SearchRestaurantQuery(string)

class Restaurant Data members + Validation

Data Model + Metadata +

Shared Code

Rich Internet Application

DB

Services

Data Access

Layer

App

Logic

Presentation

Logic Network

Domain

Context

Data

Service

Under the covers infrastructure

Note: Slide stolen from Brad Abrams

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

enough hot air, do a demo

WCF RIA Services

WCF RIA Services

To learn about WCF RIA Services go to Nikhil Kothari’s talk

Developing with WCF RIA Services

Quickly & Effectively

Tuesday 1:30pm

Lagoon H

( check 2 B sure )

where are we?

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

navigation

• Frame displays a Page

<UserControl> <Frame Source=“authors.xaml”/>

authors.xaml

Page

books.xaml

Page

• 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()]

navigation

• navigation can integrate with the browser – enables hyperlinking into Silverlight content

– requires a browser!

– requires a hidden iframe on the hosting page

– for top level Frames not nested frames

<UserControl> <Frame Source=“authors.xaml”/>

authors.xaml

Page

books.xaml

Page

• Frame displays a Page

navigation

navigate: http://booksite/default.aspx#/authors/steinbeck navigate: /authors/steinbeck

Frame

UriMapper ContentLoader

Asynchronously turns the URI into a Page or UserControl

Uri MappedUri

/authors/{author} /views/authors.xaml?surname={author}

/{pageName} /views/{pagename.xaml}

enough hot air, do a demo

Navigation Framework in Silverlight 4

where are we?

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

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

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”

WCF RIA Services

To learn more about SEO go to Brad Abrams’ talk

Search Engine Optimization for MS

Silverlight

Wednesday 12.00

Lagoon B

( check 2 B sure )

where are we?

ASP.NET Client Application Services

WCF Data Services

WCF RIA Services

navigation

search

extensible applications with MEF

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 )

essential MEF

Compose

• 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

one application of MEF

MyApp.xap

initial, small download

Extras.xap

enough hot air, do a demo

the Managed Extensibility Framework

MEF

To really learn about MEF go along to Glenn Block’s talk

Silverlight Optimization &

Extensibility with MEF

Tuesday, 3.35pm

Lagoon B

( check 2 B sure )

resources

www.silverlight.tv www.silverlight.net

feedback

eval forms on seat

fill them in

• ideally, after we’ve finished

tweet @mtaulty, @john_papa

© 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.

top related