Philip Lippard

Please say it ain't so

RIA Services - July CTP ==> Great Stuff...

To-date I have been a casual user of Microsoft's Silverlight technology, however that is all changing with Silverlight version 3 and a new companion product called RIA Services. 

With Silverlight version 1, I wrote quite a bit of JavaScript based Silverlight, plenty of animation, etc.  I avoid Silverlight for animation in favor of jQuery where practical, simply because of the browser audience.   jQuery has a wider browser acceptance, and since the introduction of Silverlight version 1, Microsoft has also embraced jQuery.  If the world is my audience, then I avoid Silverlight, although I consider the underlying technology to be great.

I was pleased to see a more business application oriented direction with Silverlight version 2, however data access from the client was still somewhat problematic with the use of WCF or ADO.NET Data Services.  I worked with both, however fast simplified data access had not yet arrived.

Silverlight 3 was released on 10-Jul-2009, and at the same time a RIA Services July CTP was made available.  RIA Services provides an object oriented approach to Silverlight client data access in the form of a RIA Services client proxy accessing a RIA Services Domain Service Class on the server.  The RIA Services Domain Services Class provides many of the same benefits as popular Object Relationship Mapping (ORM) offerings; Sub-Sonic, nHibernate, etc.   Presumably, this is the reason why RIA Services will be shipping as a separate product.  While providing many benefits for Silverlight 3 applications, RIA Services's benefits are not limited to Silverlight.

An extract from the RIA Services introduction...

Microsoft Silverlight provides a strong foundation for building Rich Internet Applications (RIA). Microsoft .NET RIA Services introduced in this document further simplify Line of Business (LoB) RIA development. They complement the existing Data Access Layer and presentation components in the .NET framework and Silverlight. They build on the foundation of ASP.NET and codify, evolve and support some of the common patterns in web applications.

The underlying Server data access layer for RIA Services can be an Entity Framework data model, LinqtoSQL  or a Plain Old CLR Object (POCO).  I prefer using LinqToSQL as my underlying data access layer.

Classic Web Application

Word on the Internet is that we are likely to see a RIA Services release date of late 2009 or early 2010.

There are some excellent reference articles on the Internet:

Nikhil Kothan's BLOG

Brad Abram's BLOG (a NC State graduate)

While I still avoid Silverlight when the world is my audience, I think Silverlight coupled with RIA Services is a great technology to use for Intranet applications, where the browser usage can be controlled.  Silverlight 3 and RIA Services provides a native Windows application look and feel, thus providing many advantages over the traditional web application.