My Headlines

Monday, April 23, 2007

What the Pundits are Missing about Silverlight

by Don Burnett

It always amazes me when I hear about Rich Internet Apps that the press always seems to go for comparisons of Adobe and Microsoft. They look at the now but kinda are missing the historic perspective. A lot of these tech writers out there have been talking about it as a new video platform versus Flash. Some have even been comparing it to Flex which is a little bit unfair. Why is it unfair? Well here's why... They are completely ignoring ASP.NET and the integration there and what that gives.

I think it's time to stop the apples to oranges thing here and go for the jugular (usually mine! he he) and talk about Flex versus ASP.NET (with ASP.NET AJAX to make it fair).

Microsoft's web technologies are very modular. One builds ontop of the other and they all integrate well together. They take a very multi-layer approach.

 ASP.NET runs from the web server and is a server-side technology. Microsoft AJAX (formerly Atlas builds atop the typical ASP.NET controls and adds new ones). The technology works in just about any browser out there. Now we can add Silverlight to that mix.

Silverlight, like Adobe Flash is a plug-in that sets ontop of the client's browser. Flex is component based (taking advantage of Flash based components and is a server technology a lot like asp.net.  It's been my experience that it lacks some of the database niceties of ASP.NET and Microsoft SQL server. However, it does render out a nice looking display that is cross platform. 

ASP.NET renders it's controls in HTML/Javascript.  Silverlight when working with ASP.NET is basically a "presentation layer" that sits on the client and javascript is used to pass it data and information. 

When we start seeing ASP.NET rendering out it's controls as Silverlight based components, then it will  be more eqivalent to what Adobe Flex is doing.

Silverlight is new, and very much is like a flash plug-in at this point. There aren't Silverlight based components yet. Maybe in the future there will be server-side components that do their rendering out to the Silverlight plug-in, I think that would be mighty cool, or they could just add new functionality to silverlight itself and have the asp.net just keep passing xaml pages as updates to it. Right now though Silverlight is more like Flash (not flex/apollo) because it is at this point a stand-alone thing..

How might an ASP.NET 4.0 Silverlight combo might work? ASP.NET components right now render out javascript/HTML. What if the components also could render out to the Silverlight Plug-in. Remember Silverlight can be full-screen and also composite it's rendering right in with the html (thanks to it's transparency). So you could have asp.net controls that render out both the standard HTML controls as it does now composited with the Silverlight (XAML) display simultaneously for a "composite" display featuring both.

It's a very neat idea and this is what I am hoping for ASP.NET 4.0. A lot of the press isn't really thinking about this possbility, but I think they should because it really shows the uniqueness and the possibility to take existing asp.net applications and make new mash-ups are incredible and they could leverage everything already done in ASP.NET with improved SilverLight functionality.

No comments: