70-565 - Presentation Layer Technology Matrix

Filed under: , , by:

One of the skills measured by the 70-565 exam is the ability to "Analyze and refine the logical design of the application" or "Identify the appropriate technology", therefore below is the presentation layer technology matrix with the scenarios when a given technology should be considered.

Mobile Applications

Consider using the .NET Compact Framework if:

You are building a mobile application that must support occasionally connected or offline scenarios.
You are building a mobile application that will run on the client to maximize performance and responsiveness.

Consider using ASP.NET for Mobile if:

Your team has ASP.NET expertise and you want to target the widest possible range of devices.
You are building an application that must have no client-side installation or plug-in dependencies.
You are building an application that can rely on 100% network connectivity.
You must use as few device resources or have the smallest footprint on the device as possible.

Consider using Silverlight for Mobile if:

You are building a mobile Web application and want to leverage the rich visualization and UI capabilities of Silverlight.
The devices you are targeting have easy access to or already have the Silverlight plug-in installed.

Rich Client Applications

For rich client applications, consider the following guidelines when choosing a presentation technology:

Consider using Windows Forms if:

Your team already has experience building Windows Forms applications and you cannot afford to change to another technology.
You are extending or modifying an existing Windows Forms application.
You do not require rich media or animation support.

Consider using WPF if:

You are building a rich client application and want to leverage the rich visualization and UI capabilities of WPF.
You are building a rich client application that you may want to deploy to the Web using XBAP.

Consider using Windows Forms with WPF user controls if:

You already have a Windows Forms application and want to take advantage of WPF capabilities such as advanced graphics, flowable text, streaming media, and animations.

Consider using WPF with Windows Forms controls if:

You are building a rich client application using WPF and want to use a control not provided by WPF.

Consider using XBAP if:

You already have a WPF application that you want to deploy to the Web.
You want to leverage rich visualization and UI capabilities of WPF that are not available in Silverlight.

Rich Internet Applications

For RIA implementations, consider the following guidelines when choosing a presentation technology:

Consider using Silverlight if:

You want to leverage the rich visualization, streaming media, and UI capabilities of Silverlight.
You are building an application that requires seamless deployment and the capability to delay load the individual modules it uses.
You are targeting a range of browsers across different platforms.

Consider using Silverlight with AJAX if:

You want to be able to dynamically manage the object instances in the Silverlight object model from your Web page.
You want to manipulate Silverlight controls based on user interaction within your Web page.

Web Applications

For Web applications, consider the following guidelines when choosing a presentation technology:

Consider using ASP.NET Web Forms if:

Your team already has experience building ASP.NET Web Forms.
You have an existing ASP.NET Web Forms application that you want to extend or modify.
You want to run on the widest possible range of client machines.
You do not want to install anything on the client.
You want to design simple functionality such as Create, Read, Update, and Delete (CRUD) operations without a rich UI or animation.

Consider using ASP. NET Web Forms with AJAX if:

You want to create ASP.NET Web Forms with a more responsive and richer user experience.
You want to support lazy loading and partial page refreshes.

Consider using ASP.NET Web Forms with Silverlight controls if:

You already have an ASP.NET Web Forms application and want to leverage the rich visualization and UI capabilities of Silverlight.
You are planning to transition your Web application to Silverlight.

Consider using ASP.NET MVC if:

You want to implement the Model-View-Controller (MVC) pattern.
You want full control over the markup.
You want to implement a clear separation of concerns between UI processing andUI rendering.
You want to follow test-driven development practices.

Consider using ASP.NET Dynamic Data if:

You want to build a data-driven application rapidly.
You want to use the LINQ query language or the Entity Framework data model.
You want to use the built-in modeling capabilities of LINQ to map your objects to data more easily.


I hope this little cheat sheet clears out a little when each presentation technology is applicable and will help you make a right decision either on the exam (if there's a question on it) or during next project. Next will be data layer technology matrix.

0 comments: