Sunday, September 7, 2008

Silver(Moon)Light - Cross platform CLR

In today's Kolkata .NET User Group we had a very good discussion on Silverlight the latest User Experience technology launched by Microsoft.This is a cross browser and cross platform plugin to deliver rich media content and enhanced interaction capability to the users over web.In very simple terms we can think of this as something like a Adobe Flash Player.



The term "cross platform" immediately caught my attention.Silverlight 1.0 was shipped for Windows and Mac.But it relied on the Javascript/AJAX based programming model.Okay,Javascript/AJAX based programming does not require much of platform dependent functionality.In that case what we need is a different binary so that it can be installed and executed on Mac OS.BUT NOT A DIFFERENT VERSION OF THE CLR.
But Silverlight 2.0 is going to provide support for code written in languages like C#/VB.NET and also the base class libraries.But this cannot execute without a CLR.If Silverlight is cross platform then we need CLR for different platforms as well.Right?
Yes that is the case.I got a detailed information on this from the August 2008 MSDN article which talks about CoreCLR for Silverlight.This CLR is a version of the CLR designed specifically to suit the needs to Silverlight Web Clients.The functionalities which does not make sense are not present e.g. some of the classes related to CAS is not present as it is not used in Silverlight.CoreCLR provides support to various platforms through Platform Abstraction Layer.At present it will support only Windows and Mac OS on Intel platforms.There is partnership with Novell to support Linux through the Mono project's Moonlight runtime. There will be support for Silverlight on Nokia Symbian OS and Windows Mobile®.>
The details can be found at:
http://msdn.microsoft.com/en-us/magazine/cc721609.aspx
http://channel9.msdn.com/shows/Going+Deep/Scott-Guthrie-Silverlight-and-the-Cross-Platform-CLR/
Can we expect full fledged versions of CLR for other platforms also in future?

No comments: