I am planning to speak at The New York City Code Camp on March 6, 2010, my topic will be Developing Rich ASP .NET Web Applications with Coolite”. To challenge myself before this I decided to experiment with Silver Light RIA Services in creating a small Silver Light application to get the data into the database. I have some initial thoughts on RIA Services being something that I played with in the past and now. I felt it would be good to write a blog entry to share my thoughts on the idea and how it works, also ask some questions.
So let me first state that I think RIA services is a great idea, and is a step in the right direction. The reason for this is that it seems no matter what tools we create or how much we abstract the application requirements continue to increase. This is because as we get better at using our tools we find ourselves able to focus more on the applications at hand, when this happens inevitably we think of bigger and better things. So of course, this is a vicious cycle, as we get more time we use it to make things more complex; being a developer is fun 🙂
If you have ever made any kind of advanced web application that leverages the principles fundamental to Web 2.0 you know that it always takes a lot of code and tends to lead to some coupling that is undesirable. To counter this Microsoft is working on a new idea for its Silver Light platform that automates much of the communication between the front end application and the server. Its purpose is to open the door for Silver Light to be used in Line of Business applications.
RIA Services is centered around the idea of Domain Context objects, which are representations of decorated backend Domain Services classes. When the application is built, Visual Studio will use its internal T4 template generation engine to generate code within the Silver Light project. This code can then be used and it automatically takes care of the process of connecting to the server and getting its data via WCF RIA Data Services.
Now, I cannot tell you how many times this has been attempted by someone somewhere, every month it seems a new framework comes out that promises to change the way we develop the web, never does. RIA services has a lot of momentum but it is not easy to get started. There are a lot of gotcha, mainly because it is still so new and has a lot of things in flux. .NET 4 promises the first finalized release version integrated into the .NET framework.