4/22/2008

Silverlight 2.0 and Rich Client

I am porting our online project management tool to Silverlight 2.0 Beta from Silverlight 1.1 Alpha and think about a heated discussion with a Javascript guru I used to know.
He said - Javascript is not a language to write complex applications with. That is because I, as an Architect pumped more and more functionality to the client. The guy was opposing it, asking to offload more and more functionality to the server.

I tried to point to what I belive is the sign of the times - Google GData Javascript library. Google, as you might know, has a number of web applciations, like Google Calendar or Google Spreadsheet. That is good. What is great, which is better then good, is that Google provides an API for 3rd parties to work with those applciations. What is super-great, is that Google wrap this raw API into an opensource libraries in several langauges, so that 3rd party developers, like I am, can bring up their applications faster to the market. That makes it good to the developers and obviously to Google as well.

Most of those libraries are for the server side. They are Java, PHP, Python and .NET. However there is a new one, for Javascript. It is limited. I think at the time of this writing it works with Calendar and Blogger, but I may be mistaken.
Yet it is a huge leap forward because if the underlying meaning that applications should be client-rich. They should be loaded from a server, sure, but then they should pull from all kind of web services on their own, from the client, eleminating wait time, load to the originating server and making for a better user experience.

So as an architect I advokated rich yet decidedly web client, and that meant Javascript. But the guru says, Javascript is not good for that. Json responses based on the injected script tag are evel. (Sorry for the tech jargon. That was the last one for this post).

Now comes Silverlight 2.0. And it is cross-domain enabled. This means that apart from rich XAML based graphics and C# coded logic and full scale of .NET controls framework, the RIA now can stop doing everything though its mothership server.

This makes wonders for the server scalability but that is a small win compared to why I am so excited. It means tru rich applciation, where communication is going to be fast, and user experience immediate.

No comments: