NewYorkTimesLogo One of the questions I’m often asked at XAMLFest events has been how a developer can write rich Internet applications (RIA) that are portable between Windows Presentation Foundation (WPF) and Silverlight. And while there are differences, there are many more similarities. And a lot depends on back-end REST Services.

This week, my colleague Michael Scherotter published the New York Times Silverlight Kit on Codeplex so it now includes source code. The kit provides a basis for working with REST Services APIs. You can see the working demo of the code at New York Times Silverlight Kit Demo.

The kit is interesting from several viewpoints.

Architecture. The goals of the project:

  • Make it easy for designers and developers to use the APIs with little to no coding: all XAML
  • Include Design-Time sample data to facilitate crafting experiences in Expression Blend and Visual Studio
  • Use the MVVM Design Pattern to separate components for test-ability and data binding.

    Build your own reader to your REST services. You can use it to build your own newsreader application. Perhaps you have a way to publish content to your customers. In fact, there’s an artist explorer that shows you how to do that. In fact, there’s little or not code to connect up the Silverlight application with the REST services.

    Use New York Times in your application. The New York Times has made a number of services freely available to software developers as REST services at their Developer Network. Since Silverlight works very well with REST services, we wanted to make it easy for designers and developers to use these services in you applications.

    See how much code works in WPF and Silverlight. This is where I started the blog posting. So how do you make the same code work for both? If you browse the source code for the New York Times Silverlight Kit, you’ll notice that there are two project that are not for Silverlight but for WPF applications. It turns out that most of the code will work in both Silverlight and WPF. He explains the differences in his posting, New York Times WPF Kit.

    For more information, see Michael Scherotter’s blog postings:

    To download the code, see New York Times Silverlight Kit.

    For more information about getting started with Silverlight, see Silverlight.Net.

    For more information about how to build your own REST Services in WCF, see:

    This is a concrete example of an architecture that supports Software + Services. Software on the client can be either WPF or Silverlight or even another service. The Web Services can be provided through REST Services in the cloud or on premises.