SlideShare une entreprise Scribd logo
1  sur  35
Silverlight 4frameworks, 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,  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) HTTP Request URL Resources VERB Res 1 GET Payload Res 2 POST PUT Res 3 XML JSON DELETE Res 4 XML JSON HTTP Response Status Payload
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” ) http://server/customers(‘alfki’)/Orders?$top=20 WCF Data Services Libraries DataModel ,[object Object]
LINQ to SQL
Customrequest metadata LINQ Query generated proxy code metadata .NET OData Implementation WCF Data Services Libraries Windows Azure Storage Java PHP SharePoint WebSphere Atom implementation of odata for the client and the server “Other” OData Implementations
enough hot air, do a demo WCF Data Services from Silverlight
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 )
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 Services Rich Internet Application Presentation Logic Data Access Layer App Logic Network DomainContext Data Service DB 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 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 )
where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF
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
navigation Page Frame displays a Page Page <UserControl>  <Frame           Source=“authors.xaml”/> authors.xaml 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 books.xaml
navigation navigate:	http://booksite/default.aspx#/authors/steinbeck navigate:	/authors/steinbeck Frame UriMapper ContentLoader Asynchronously turns the URI into a Page or UserControl
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 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 )
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 import (e.gDebuggerVisualizer) export (e.gDebuggerVisualizer) Component (e.g. Visual Studio) Component (e.g. XML Visualizer) MEF Composition Engine 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 initial, small download MyApp.xap Extras.xap additional functionality
enough hot air, do a demo the Managed Extensibility Framework
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 )
where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation & search extensible applications with MEF Model View ViewModel (MVVM)

Contenu connexe

Tendances

People code events 1
People code events 1People code events 1
People code events 1Samarth Arora
 
Attributes & .NET components
Attributes & .NET componentsAttributes & .NET components
Attributes & .NET componentsBình Trọng Án
 
Database access and JDBC
Database access and JDBCDatabase access and JDBC
Database access and JDBCFulvio Corno
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVCJohn Lewis
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMahmoudOHassouna
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Oro Inc.
 
EMC Documentum - xCP.x Updating Endpoint
EMC Documentum - xCP.x Updating EndpointEMC Documentum - xCP.x Updating Endpoint
EMC Documentum - xCP.x Updating EndpointHaytham Ghandour
 
BCA IPU VB.NET UNIT-IV
BCA IPU VB.NET UNIT-IVBCA IPU VB.NET UNIT-IV
BCA IPU VB.NET UNIT-IVVaibhavj1234
 
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB MahmoudOHassouna
 
Overview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company indiaOverview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company indiaJignesh Aakoliya
 

Tendances (20)

L06 process design
L06 process designL06 process design
L06 process design
 
People code events 1
People code events 1People code events 1
People code events 1
 
Attributes & .NET components
Attributes & .NET componentsAttributes & .NET components
Attributes & .NET components
 
Database access and JDBC
Database access and JDBCDatabase access and JDBC
Database access and JDBC
 
Add on packages
Add on packagesAdd on packages
Add on packages
 
Spring Portlet MVC
Spring Portlet MVCSpring Portlet MVC
Spring Portlet MVC
 
Exploring Maven SVN GIT
Exploring Maven SVN GITExploring Maven SVN GIT
Exploring Maven SVN GIT
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVC
 
Spring Framework -I
Spring Framework -ISpring Framework -I
Spring Framework -I
 
Spring MVC 5 & Hibernate 5 Integration
Spring MVC 5 & Hibernate 5 IntegrationSpring MVC 5 & Hibernate 5 Integration
Spring MVC 5 & Hibernate 5 Integration
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)
 
EMC Documentum - xCP.x Updating Endpoint
EMC Documentum - xCP.x Updating EndpointEMC Documentum - xCP.x Updating Endpoint
EMC Documentum - xCP.x Updating Endpoint
 
Spring aop
Spring aopSpring aop
Spring aop
 
BCA IPU VB.NET UNIT-IV
BCA IPU VB.NET UNIT-IVBCA IPU VB.NET UNIT-IV
BCA IPU VB.NET UNIT-IV
 
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
 
Overview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company indiaOverview of MVC Framework - by software outsourcing company india
Overview of MVC Framework - by software outsourcing company india
 
C# fundamentals Part 2
C# fundamentals Part 2C# fundamentals Part 2
C# fundamentals Part 2
 
Colloquium Report
Colloquium ReportColloquium Report
Colloquium Report
 
Jdbc basic features
Jdbc basic featuresJdbc basic features
Jdbc basic features
 
Mvc by asp.net development company in india - part 2
Mvc by asp.net development company in india  - part 2Mvc by asp.net development company in india  - part 2
Mvc by asp.net development company in india - part 2
 

Similaire à Mike Taulty MIX10 Silverlight Frameworks and Patterns

Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsDave Allen
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Ben Robb
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arpGary Pedretti
 
Development In ASP.NET by Tanzim Saqib
Development In ASP.NET by Tanzim SaqibDevelopment In ASP.NET by Tanzim Saqib
Development In ASP.NET by Tanzim Saqibguestf8f959
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netconline training
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Steve Lange
 
MSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedMSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedDave Bost
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio AnguloLuis Du Solier
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APISanchit Dua
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
Introduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsIntroduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsAbdelmonaim Remani
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 

Similaire à Mike Taulty MIX10 Silverlight Frameworks and Patterns (20)

Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
Development In ASP.NET by Tanzim Saqib
Development In ASP.NET by Tanzim SaqibDevelopment In ASP.NET by Tanzim Saqib
Development In ASP.NET by Tanzim Saqib
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
Dot net training bangalore
Dot net training bangaloreDot net training bangalore
Dot net training bangalore
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
 
MSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF DemystifiedMSDN Unleashed: WPF Demystified
MSDN Unleashed: WPF Demystified
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
 
Si so product 1 day technical
Si so product 1 day technicalSi so product 1 day technical
Si so product 1 day technical
 
Best practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata APIBest practices in using Salesforce Metadata API
Best practices in using Salesforce Metadata API
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Introduction To Rich Internet Applications
Introduction To Rich Internet ApplicationsIntroduction To Rich Internet Applications
Introduction To Rich Internet Applications
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
.net Framework
.net Framework.net Framework
.net Framework
 

Plus de ukdpe

Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)
Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)
Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)ukdpe
 
Windows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace IngestionWindows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace Ingestionukdpe
 
Mike Ormond: Developing for Windows Phone 7
Mike Ormond: Developing for Windows Phone 7Mike Ormond: Developing for Windows Phone 7
Mike Ormond: Developing for Windows Phone 7ukdpe
 
Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)ukdpe
 
Microsoft UK TechDays - jQuery and ASP.NET
Microsoft UK TechDays - jQuery and ASP.NETMicrosoft UK TechDays - jQuery and ASP.NET
Microsoft UK TechDays - jQuery and ASP.NETukdpe
 
Microsoft UK TechDays - Top 10 ASP.NET 4.0 Features
Microsoft UK TechDays - Top 10 ASP.NET 4.0 FeaturesMicrosoft UK TechDays - Top 10 ASP.NET 4.0 Features
Microsoft UK TechDays - Top 10 ASP.NET 4.0 Featuresukdpe
 
Microsoft UK TechDays - ASP.NET 4.0 Overview
Microsoft UK TechDays - ASP.NET 4.0 OverviewMicrosoft UK TechDays - ASP.NET 4.0 Overview
Microsoft UK TechDays - ASP.NET 4.0 Overviewukdpe
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Mike Taulty MIX10 Silverlight 4 Accelerated Fundamentals
Mike Taulty MIX10 Silverlight 4 Accelerated FundamentalsMike Taulty MIX10 Silverlight 4 Accelerated Fundamentals
Mike Taulty MIX10 Silverlight 4 Accelerated Fundamentalsukdpe
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPMike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPukdpe
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?ukdpe
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2ukdpe
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1ukdpe
 
Mike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEFMike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEFukdpe
 
Mike Taulty DevDays 2010 Silverlight 4 Networking
Mike Taulty DevDays 2010 Silverlight 4 NetworkingMike Taulty DevDays 2010 Silverlight 4 Networking
Mike Taulty DevDays 2010 Silverlight 4 Networkingukdpe
 
Explaining The Cloud
Explaining The CloudExplaining The Cloud
Explaining The Cloudukdpe
 
Microsoft In Education - Steve Beswick
Microsoft In Education - Steve BeswickMicrosoft In Education - Steve Beswick
Microsoft In Education - Steve Beswickukdpe
 
How Microsoft Secures its Online Services [WHITEPAPER]
How Microsoft Secures its Online Services [WHITEPAPER]How Microsoft Secures its Online Services [WHITEPAPER]
How Microsoft Secures its Online Services [WHITEPAPER]ukdpe
 
Overview of Microsoft App-V 4.5
Overview of Microsoft App-V 4.5Overview of Microsoft App-V 4.5
Overview of Microsoft App-V 4.5ukdpe
 
Optimising your site for search engines
Optimising your site for search enginesOptimising your site for search engines
Optimising your site for search enginesukdpe
 

Plus de ukdpe (20)

Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)
Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)
Mike Ormond: Silverlight for Windows Phone 7 (UK TechDays)
 
Windows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace IngestionWindows Phone 7: How (Not) to Fail Marketplace Ingestion
Windows Phone 7: How (Not) to Fail Marketplace Ingestion
 
Mike Ormond: Developing for Windows Phone 7
Mike Ormond: Developing for Windows Phone 7Mike Ormond: Developing for Windows Phone 7
Mike Ormond: Developing for Windows Phone 7
 
Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)
 
Microsoft UK TechDays - jQuery and ASP.NET
Microsoft UK TechDays - jQuery and ASP.NETMicrosoft UK TechDays - jQuery and ASP.NET
Microsoft UK TechDays - jQuery and ASP.NET
 
Microsoft UK TechDays - Top 10 ASP.NET 4.0 Features
Microsoft UK TechDays - Top 10 ASP.NET 4.0 FeaturesMicrosoft UK TechDays - Top 10 ASP.NET 4.0 Features
Microsoft UK TechDays - Top 10 ASP.NET 4.0 Features
 
Microsoft UK TechDays - ASP.NET 4.0 Overview
Microsoft UK TechDays - ASP.NET 4.0 OverviewMicrosoft UK TechDays - ASP.NET 4.0 Overview
Microsoft UK TechDays - ASP.NET 4.0 Overview
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Mike Taulty MIX10 Silverlight 4 Accelerated Fundamentals
Mike Taulty MIX10 Silverlight 4 Accelerated FundamentalsMike Taulty MIX10 Silverlight 4 Accelerated Fundamentals
Mike Taulty MIX10 Silverlight 4 Accelerated Fundamentals
 
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTPMike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
Mike Taulty TechDays 2010 Silverlight and Windows Phone 7 CTP
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 2
 
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
 
Mike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEFMike Taulty DevDays 2010 Silverlight MEF
Mike Taulty DevDays 2010 Silverlight MEF
 
Mike Taulty DevDays 2010 Silverlight 4 Networking
Mike Taulty DevDays 2010 Silverlight 4 NetworkingMike Taulty DevDays 2010 Silverlight 4 Networking
Mike Taulty DevDays 2010 Silverlight 4 Networking
 
Explaining The Cloud
Explaining The CloudExplaining The Cloud
Explaining The Cloud
 
Microsoft In Education - Steve Beswick
Microsoft In Education - Steve BeswickMicrosoft In Education - Steve Beswick
Microsoft In Education - Steve Beswick
 
How Microsoft Secures its Online Services [WHITEPAPER]
How Microsoft Secures its Online Services [WHITEPAPER]How Microsoft Secures its Online Services [WHITEPAPER]
How Microsoft Secures its Online Services [WHITEPAPER]
 
Overview of Microsoft App-V 4.5
Overview of Microsoft App-V 4.5Overview of Microsoft App-V 4.5
Overview of Microsoft App-V 4.5
 
Optimising your site for search engines
Optimising your site for search enginesOptimising your site for search engines
Optimising your site for search engines
 

Dernier

week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleCeline George
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 

Dernier (20)

week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Multi Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP ModuleMulti Domain Alias In the Odoo 17 ERP Module
Multi Domain Alias In the Odoo 17 ERP Module
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 

Mike Taulty MIX10 Silverlight Frameworks and Patterns

  • 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 XML JSON DELETE Res 4 XML JSON 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.
  • 12. Customrequest metadata LINQ Query generated proxy code metadata .NET OData Implementation WCF Data Services Libraries Windows Azure Storage Java PHP SharePoint WebSphere Atom implementation of odata for the client and the server “Other” OData Implementations
  • 13. enough hot air, do a demo WCF Data Services from Silverlight
  • 14. 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 )
  • 15. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF
  • 16. 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 Services Rich Internet Application Presentation Logic Data Access Layer App Logic Network DomainContext Data Service DB Under the covers infrastructure Note: Slide stolen from Brad Abrams
  • 17. 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
  • 18. enough hot air, do a demo WCF RIA Services
  • 19. 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 )
  • 20. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF
  • 21. 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
  • 22. navigation Page Frame displays a Page Page <UserControl> <Frame Source=“authors.xaml”/> authors.xaml 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 books.xaml
  • 23. navigation navigate: http://booksite/default.aspx#/authors/steinbeck navigate: /authors/steinbeck Frame UriMapper ContentLoader Asynchronously turns the URI into a Page or UserControl
  • 24. enough hot air, do a demo Navigation Framework in Silverlight 4
  • 25. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF
  • 26. 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
  • 27. 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”
  • 28. 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 )
  • 29. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation search extensible applications with MEF
  • 30. 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 )
  • 31. essential MEF import (e.gDebuggerVisualizer) export (e.gDebuggerVisualizer) Component (e.g. Visual Studio) Component (e.g. XML Visualizer) MEF Composition Engine 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
  • 32. one application of MEF initial, small download MyApp.xap Extras.xap additional functionality
  • 33. enough hot air, do a demo the Managed Extensibility Framework
  • 34. 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 )
  • 35. where are we? ASP.NET Client Application Services WCF Data Services WCF RIA Services navigation & search extensible applications with MEF Model View ViewModel (MVVM)
  • 36. why MVVM? View Silverlight client web data
  • 37. why MVVM? needs to be designable “where does the DisplayDetail flag go?” Data/ Service Layer View (e.g. Person Master/Details) Model (e.g. PeopleModel) Code XAML Person Business Layer View model needs to be testable and maintainable Silverlight client
  • 38. why MVVM? Open to techniques like dependency injection, mocking to aid testability ViewModel is the View’s DataContext. Bind to data, commands ViewModel Designers & Design Tools like XAML so maximize its use View (e.g. Person Master/Details) bridges the gap Model (e.g. PeopleModel/Person) XAML Code Hard to test this code without UI so minimize/remove pure “Data” pure “Display”
  • 39. commands ICommandseparates UI from functionality No ICommand implementation in Silverlight 4 but some controls make use of ICommand No need for the Button to be aware of the code that handles this Command
  • 40. triggers, actions, behaviors Blend team’s simple concepts -> powerful results attach/detach yourself to/from any DependencyObject Trigger = START SOMETHING Action == DO SOMETHING Behavior == GET OUT OF JAIL FREE
  • 41.
  • 78.
  • 79. enough hot air, do a demo MVVM, commands and actions
  • 80. MEF Understanding the MVVM Pattern Build your own MVVM Framework Laurent Bugnion & Rob Eisenberg Monday 2pm Monday 3.30pm Lagoon DEF ( check 2 B sure )
  • 83. © 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.