Silverlight and CLR functionality
I got a lot of responses about the previous Silverlight blog, so I wanted to expand it a little here from follow up talks with Microsoft and answer a few questions I saw over and over.
What is it?
Silverlight is a new technology that runs in your browser as a plugin. But it does NOT just have to be IE. Current support includes IE, Firefox, and I am told Mac OS browsers as well (have not tested). Here is how I think of it “Microsoft version of Flash”. OK, I know I will get lambasted because it does a LOT more, and is totally different, but it is a good analogy if you have read nothing about it yet.
Where can I read about it?
http://www.microsoft.com/silverlight/ is the official page from Microsoft about the technology.
How do I develop for it?
There is an SDK on the sight above, and Microsoft has a GUI to allow you to build apps for it specifically.
Is it managed code?
No, it is native code. It is supposed to include a CLR component to allow plugins through managed code as a security mechanism to prevent users from having to install ActiveX controls all over again inside Silverlight. Managed code can be blocked from doing a lot of the things that ActiveX controls can currently do to damage your machine.
Other questions should be directed to the official FAQ from Microsoft.
On with the blog…
I spoke again Friday with the Silverlight people at TechEd. Since I had played with it a little I had more intelligent questions (I hope). Silverlight (the current beta) does NOT contain CLR functionality. You have to download the ALPHA version (which seems backwards, but it is actually a newer 1.1 version if you look closely). And then the CLR functions are NOT what I would call complete in any shape or form. They are not even a subset of the Compact Framework (or Micro Framework if you like). The current functions are so tiny that it should be called something else entirely.
The person I was speaking with would not commit to what level of functionality the CLR in Silverlight would provide. It may be an entirely new subset of CLR fashioned specifically for Silverlight (yuck). So I asked specifically about hosting VistaDB inside the CLR part of Silverlight and accessing the Isolated Storage. Not currently supported. OK, how about in memory? Not current supported. Hmm, I am seeing a pattern here.
I was told that for now they recommended practice would be to host our database engine through a webservice and have the Silverlight app query the webserice to get data back in XML format.
You cannot currently even host the ADO.NET provider inside Silverlight to query a database server directly. I hope this is not going to stay this way. Maybe the person I spoke with on Friday was just being really conservation with what they wanted to tell me.
I have an email in to the person who told me he had tested VistaDB with Silverlight asking what he meant by that. He is a developer and maybe those bits are not live for public consumption yet. I personally find the Silverlight concept very interesting. I think it is a fantastic way to build rich UI experiences for the web without resorting to click once, or AJAX on ASP.NET pages. The UI is very, very rich and has a lot of abilities.
[EDIT-Since this post the 1.1 Alpha has been renamed to 2.0 due to the much larger feature set than the original release]
Similar Posts
- VistaDB with LINQ and Silverlight
- Mono Moonlight and Silverlight – Mono better than the original?
- TSQL Stored Procs and License Enforcement Changes
