SlideShare ist ein Scribd-Unternehmen logo
1 von 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)

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 

Kürzlich hochgeladen (20)

Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.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.